{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# HW1_ZTT\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "data = pd.read_csv('day.csv')\n",
    "data.head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里我把 instant dteday 以及 casual 和 registered 的数据给去掉，因为我觉得特征不相关"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data=data.drop(['instant','dteday','casual','registered'],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 12 columns):\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(8)\n",
      "memory usage: 68.6 KB\n"
     ]
    }
   ],
   "source": [
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "season        0\n",
       "yr            0\n",
       "mnth          0\n",
       "holiday       0\n",
       "weekday       0\n",
       "workingday    0\n",
       "weathersit    0\n",
       "temp          0\n",
       "atemp         0\n",
       "hum           0\n",
       "windspeed     0\n",
       "cnt           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.496580</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>6.519836</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>2.997264</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>1.395349</td>\n",
       "      <td>0.495385</td>\n",
       "      <td>0.474354</td>\n",
       "      <td>0.627894</td>\n",
       "      <td>0.190486</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.110807</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>3.451913</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>2.004787</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.544894</td>\n",
       "      <td>0.183051</td>\n",
       "      <td>0.162961</td>\n",
       "      <td>0.142429</td>\n",
       "      <td>0.077498</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.337083</td>\n",
       "      <td>0.337842</td>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.134950</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.498333</td>\n",
       "      <td>0.486733</td>\n",
       "      <td>0.626667</td>\n",
       "      <td>0.180975</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.655417</td>\n",
       "      <td>0.608602</td>\n",
       "      <td>0.730209</td>\n",
       "      <td>0.233214</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.861667</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           season          yr        mnth     holiday     weekday  workingday  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     2.496580    0.500684    6.519836    0.028728    2.997264    0.683995   \n",
       "std      1.110807    0.500342    3.451913    0.167155    2.004787    0.465233   \n",
       "min      1.000000    0.000000    1.000000    0.000000    0.000000    0.000000   \n",
       "25%      2.000000    0.000000    4.000000    0.000000    1.000000    0.000000   \n",
       "50%      3.000000    1.000000    7.000000    0.000000    3.000000    1.000000   \n",
       "75%      3.000000    1.000000   10.000000    0.000000    5.000000    1.000000   \n",
       "max      4.000000    1.000000   12.000000    1.000000    6.000000    1.000000   \n",
       "\n",
       "       weathersit        temp       atemp         hum   windspeed          cnt  \n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000   731.000000  \n",
       "mean     1.395349    0.495385    0.474354    0.627894    0.190486  4504.348837  \n",
       "std      0.544894    0.183051    0.162961    0.142429    0.077498  1937.211452  \n",
       "min      1.000000    0.059130    0.079070    0.000000    0.022392    22.000000  \n",
       "25%      1.000000    0.337083    0.337842    0.520000    0.134950  3152.000000  \n",
       "50%      1.000000    0.498333    0.486733    0.626667    0.180975  4548.000000  \n",
       "75%      2.000000    0.655417    0.608602    0.730209    0.233214  5956.000000  \n",
       "max      3.000000    0.861667    0.840896    0.972500    0.507463  8714.000000  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# cnt的直方图，感觉看不出什么东西来 - -  这里有个问题怎么判断数据中是否存在负数，图里面出现\n",
    "#了-2000 是因为有负数的存在吗？ 数据基本和正态分布比较接近\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.cnt.values, bins=50, kde=True)\n",
    "plt.xlabel('Median value of cnt', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Distribution of cnt')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#cnt的散点图 data.shape 表示行数  这里看着感觉分布比较均匀 需不需要剔除2000以下的值呢\n",
    "plt.scatter(range(data.shape[0]),data['cnt'].values,color='red')\n",
    "plt.title('Distribution of cnt')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从这个结果上来看，2012年的整体使用量明显要高于2011年"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#季节的直方图,这个好像没什么意义，一年四季一样长啊\n",
    "sns.countplot(data.season, order=[1,2,3,4]);\n",
    "plt.xlabel('season');\n",
    "plt.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#月份的直方图，好像也没什么意义\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.mnth.values, bins=30, kde=False)\n",
    "plt.xlabel('proportion of residential land zoned', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#天气直方图\n",
    "sns.countplot(data.weathersit, order=[1,2,3,4]);\n",
    "plt.xlabel('weathersit');\n",
    "plt.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#气温的直方图 \n",
    "fig = plt.figure()\n",
    "sns.distplot(data.temp.values, bins=30, kde=False)\n",
    "plt.xlabel('proportion of residential land zoned', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 两两特征之间的相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(12, 12)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cols=data.columns\n",
    "\n",
    "data_corr = data.corr().abs()\n",
    "\n",
    "data_corr.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAJDCAYAAAAxVzSsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl4TNcbwPHvmUlSooSEyqaopXapJkprX2JLRFG6WH9UUa1SlFL72lJLSy0tsbWoKhVqp8QaO4kllqgsKFnQWpLJ/f2RMTJZiDYzE/F+nmeex9x77p33dc69M+eec2+UpmkIIYQQQgghhACdrQMQQgghhBBCiJxCOkhCCCGEEEIIYSQdJCGEEEIIIYQwkg6SEEIIIYQQQhhJB0kIIYQQQgghjKSDJIQQQgghhBBG0kESQgghhBBCPJWUUvOVUteUUiczWa+UUjOUUueUUseVUtUet0/pIAkhhBBCCCGeVoFA00esbwaUMb56AN89bofSQRJCCCGEEEI8lTRN2wnEPqJIALBIS7EPKKiUcnvUPqWDJIQQQgghhMitPIDLqd5HGpdlys6i4eQCidcvaLaOwZLyute2dQgWc2vJB7YOwaKcOs61dQgWlazl6kMPvS53X59SKFuHYDFfFM29500AfS6uO4C9WrytQ7AoR5W7f9q1SHze1iFYVIfoJU/FAWjN38cORUp9QMrUuAfmapr2JD+CMvo/fWT8ufsoEkIIIYQQQjy1jJ2h/3JVOBIoluq9JxD9qA1y9yVMIYQQQgghxLPsN6CT8Wl2NYAETdNiHrWBjCAJIYQQQgghsi7ZYOsITJRSPwH1gMJKqUhgBGAPoGnabGA90Bw4B/wDdH3cPqWDJIQQQgghhHgqaZr2zmPWa8CHT7JP6SAJIYQQQgghsk5LtnUEFiX3IAkhhBBCCCGEkYwgCSGEEEIIIbIuWUaQhBBCCCGEEOKZICNIQgghhBBCiCzT5B4kIYQQQgghhHg2yAiSEEIIIYQQIuvkHiQhhBBCCCGEeDbICJIQQgghhBAi6+QeJCGEEEIIIYR4NkgHSQghhBBCCCGMZIqdEEIIIYQQIuuSDbaOwKJkBEkIIYQQQgghjKSDlEMMG/81dVq8TasOPW0dyiM18a1H6MmdnA4LZtDAD9Otd3Bw4Mel33E6LJg9wWspXtzTtO6zQX04HRZM6Mmd+Daua1o+b+4UoiOPcfTIVrN9Va1akd271nIwZBP79q7Hx9vLcok9xu7waAKm/Yb/1DXM3xmabn1M/N90n7+F9jPX89a369h1NgqAE5HXaTdzfcrr23VsC7ts7dAz5etbj5Mn/iAsLJiBAzKuy6VLZhEWFkzwrod16exckE0bVxB74wzTpo0122b0qEGcP3eA2BtnrJJDWtndPp977jn27g7i0MHNHDu6jRHDPzWV792rC6fDgkm6H4WLSyHLJ5eKb+N6nDi+g7DQXQwY0DvdegcHB5YsnkVY6C527fzNrO42blzOjeunmTZ1jKl83rx5WP1rIMePbefI4S2MHTPYarlkpHHjuhw/vp3Q0J2Z5rd48UxCQ3eyc+eaNPkt4/r1U0ydOtpsm7Zt/QkJ2cjhw1sYN+5zq+SRFS/VrULPbV/R648p1Ozln259tfca8v7GiXRfP55OK4dTuIwHAO5VX6L7+vEpr9/H83ITb2uHniUl61bh/W1f8cEfU6iRQX5e7zXgfxsn0HX9ON5b+QUuZdzN1hdwd6F/2PdU79HcWiE/kVfqVmPW9tnM3jmXNr3bplvfsnsrvt06i+kbv2H0T+Mo4lHEtG7EolEsPbGMYQuGWzPkJ1K17itM2TaTqX98R8terdOtb969JV9t+YZJG6Yx9MfRFDbmV9ijCOOCpjBh/VS+2jyDRu81sXboj+VWrwotd31FwO4pVOyTvm0+8GILHzpEL8G5SkkAHAo9T6OfP6d9+Pf4jOtkrXBzHi3Zei8bkA5SDtGqeWNmfz328QVtSKfTMWP6OPz8O1C5an3at29F+fJlzMr8r+s7xMUlUK5CLabNmMeE8UMBKF++DO3aBVDFqwEt/N7jmxnj0elSmt+iRSto4fdeus+bOH4oY8Z+jbePL6NGTWbihKGWTzIDhuRkJqwNYWan+qz6yI8NxyM4fy3BrMy8P07iW+lFln/YnIntajF+bQgApV8oyI89m7Liw+bM7NyAMb/tJ8lg+ye/6HQ6pk8fi3/LjlStWp/27QMoX868Lrt2fZu4+AQqVKjFjBnzGG/8UXn37j1GjvqKzwaPSbffoHVbeKOWn1VySMsS7fPevXs08m3Hq96NedXblya+9XitejUA9uwNoUmzt4mIsG6n90HdtQzoRFWvBrRvF0C5tHXX5W3i4+OpULE2M775nnFjH9bdqFGTGTw4/blm6rQ5VKlan+qvNaPm6z408a1njXTSeZBfQEBnvLwa0q5dy3T5denSnvj4BCpWrMM333zP2LFDgAf5TWHw4HFm5Z2dCzJhwuc0a/YO1ao1omjRwtSv/4bVcsqM0imajunCss5fMqfRICq2rGnqAD1wcs0e5jUZzPfNP2fv7CAaDUs5V147E8kP/sP4vvnnLOv8Jc3G/w+lz1lf6Uqn8B3TmRWdv2Reo0FUaFkjXQcobM1e5jcZwoLmQ9k/ex0Nh3UwW99w+Htc2HHMmmFnmU6n44OxvRjVeQR9Gvamdsu6FCtTzKzMxdDz9G/Rj75NPmLPumC6fN7VtO7XOauY1u9ra4edZUqno+uYD5jUeTQDGn3E6y1r41HG06xMROgFhvp9ymdNP2H/+j28O6QzAHHX4hjR+jOGNO/HsIBBtOzVhkIvWPdC0qMonaL6+M5se+9L1tYbRImAGjilaZsAdvny8HK3Jvx16JxpmeFuIse+Wsnh0T9aM2RhZTnrbPoM8/aqjFOB/LYO45Gq+7zC+fMRXLz4J4mJiaxYsYaW/uZXhVr6+7J48c8A/PLLOhrUr2Vc3oQVK9Zw//59IiIuc/58BNV9XgFgV/B+YuPi032epmnkN/6fFHDKT3TMVUuml6mTkTco5pIfT+f82NvpaVK5ODtOmf8oVsDfdxMBuH33PkXy5wUgr4MddsYfLfeTDCiUVWPPjI+PV7q69Pf3NSvjn7ouV62jvrEu//nnDnv2hHD37r10+z1w4DBXrlyzfAIZsFT7/PvvfwCwt7fDzt4eTdMAOHo0lEuXIq2Vnkm6uvv5t4zrbslKAFatWmfqDJjq7p553d25c5c//tgLQGJiIkePnMDD080K2aSXNr+ff16bYX5LTPmtT5ffvXt3zcqXLPki4eEXuX49FoBt24Jp1aqZFbJ5NHevUsRGXCX+8l8kJxoIW7uPso1fNStz//Yd07/tHZ8z/Tvp7n0048UW/XP2GJtljuLmVYq4iKskpMqvzGPy03iYSBnfV4n/8y+uG0fkc5oyXmW5EhHD1T+vkpSYxK61O6nuW8OszIm9J7hvPFeeOXIGF7fCpnXHdx/jTqr8c5rSXmW4EhHDtctXMSQmsXdtMN6NXzMrE7b3JPfv3gfg3JEzOLu5AGBITCLpfhIA9g72KF3O+O57wOWVUtyKuMrtP1PaZsSafXg2eTVduaqD2hI2K4jke4mmZYY79/jrwFkMqZY9k5KTrfeyAZt2kJRS+ZRS65RSx5RSJ5VS7ZVSryql/lBKHVJKbVRKuRnLvq+UCjGW/UUp5Whc/pZx22NKqZ3GZXmUUguUUieUUkeUUvWNy7sopVYppTYopcKVUl/aLvunj7uHK5cjo03vI6NicHd3zbSMwWAgIeEmLi6FcHfPYFsP823T6j9gBJMmDOPi+RC+nPgFQ4dNyMZssu7azTu4Ojma3hd1cuTaLfMvtZ4NqrDu2EV8v1pFn8U7GNzi4XSXE5ev03pGEG2/XcewltVNHSZb8nB3I/JyjOl9VNQV3D3c0pRxJTIypYzBYCDh5k2rTyV7EpZqnzqdjoMhm4iJOs7WrTs5EHLECtlkLm2sUVExeKTN092VyFR53rx5K8t15+RUgBYtGrF9++7sC/oJpI4dUvJzdy+aaZms5Hf+/CXKli1F8eKe6PV6/P198fRMf7XY2vK7OnMr5obp/c2YWPK7ps/j1U6N6b3zaxoOeYeNIxaalrt7laLH5kn02DiRDUPnmzpMOUV+10Lciok1vb+VSX7VOjXig51TqD/kbbaMWASAfd7nqNHLj+Bpq6wW75NycXXhevRfpvc3Yq7jUtQl0/KN2/tyaPsha4SWLQq5OnMj5rrp/Y2YGxRydc60fL32jTi247DpvbNbYSZtmMa3+77nt9mriLsWZ9F4n4SjayH+iX7YNv+JicXRzbxtFqpUnHzuzkRtOWrt8EQOYOtfak2BaE3TqmqaVgnYAHwDtNU07VVgPvBgrsQqTdN8NE2rCpwCuhmXDweaGJe3NC77EEDTtMrAO8BCpVQe4zovoD1QGWivlDIfDxeZUir9FSAtzWXLjMtkbdu0PujRiU8HjqRkKR8+HTiKeXOmPGHE2SP1Fc0H0maz4XgELauVYtPA1nzbsR7DftlDcnLKdpWLFWbVx34s/aApP+wM5V6i7Z/8kkF1ZLEuc+BlaiNLtc/k5GS8fXwpXtIbH+9XqFjx5WyK+N/JWp7pt8tK3en1ehYv+paZMxdw8eKf/zrG/+Lf12Pm+cXHJ/Dxx0NZvHgmW7eu5NKlSJKSkv57sBaQUR6HFm1mVp3+bJu4jFoftTItjz56nrmNP2N+yy94vXdL9M/ZWzPULMioIaZfdHjRFubU+ZQdE5fxujG/Wv1bE/L9BhL/ST9SnWM8wXFW9816lK5Sml/n/GLhoLJPhjMeMjnMar1Zl5cql2btnF9Ny2JjrvNZ00/oV6cnddrUx6mwk4Ui/Rcy+S5Ivd57ZAcOjZJpdJnRtGSrvWzB1h2kE0AjpdQkpVRtoBhQCdislDoKDAMeTHitpJTapZQ6AbwHVDQu3w0EKqXeB/TGZbWAxQCapp0GLgFljeu2apqWoGnaXSAMKJ42KKVUD6XUQaXUwe8X/ZTNKT+9oiJjKJbqqqunhxsxaaa9pS6j1+txcipAbGwcUVEZbBv96ClznTq+xa+/rgdg5cq1+PjY5iENRQs4ciXhH9P7qwn/mKbQPfDrofP4VnoRgKovFuFeUjLxab7YX3rBibwOdpy7ln46obVFRsXgWezhiJGHhysx0VfSlzFOs9Lr9TgVKEBsrO1jz4yl22dCwk3+2LnHZvfmPJA2Vg8Pt3TTT6OirphGSPR6PQUK5M9S3c2aNYlz5y7yzbc/ZG/QTyAqKsZsdMfDw42YmGuZlslqfuvXb6FOnQDq1XuT8PALnDsXke2xP6lbV2LJ7/ZwxKGAmzO3r2aeR+hveynrm/5hDDfORXP/zj1eKOuZwVa2k5LfwxGH/G7O3Lqa+ShC2G/7KOObMs3J3as09Ye8Ta/gqXj/rwk1P2xJtc6NLR7zk7gRc4PC7g8fuuDiVpjYa7HpylWtVZW3+rRnXLcxpmlnT4PYKzfMpgS6uLkQdzV9fpXeqEKrPm2Z3H18hvnFXYsj8uxlXq5ewaLxPol/YmJxdH/YNh3dnLlz5WHbtH8+D07lPGn8y1Ba7Z9K4WqlqBfY3/SgBpH72bSDpGnaWeBVUjpKE4A2QKimaV7GV2VN0x5MPg8E+hhHhUYBeYz76ElKR6oYcFQp5UKG13VMUv9qNZDB34LSNG2upmnemqZ5d+/0zn/KMTcJOXiU0qVLUqJEMezt7WnXLoC1QZvMyqwN2kTHjm8B0KZNC7bv2G1a3q5dAA4ODpQoUYzSpUs+dqpSdMxV6tapCUCD+rUIP3fRAlk9XkUPF/68cYuouNskJhnYeOISdcuZ/xBxK+jI/vMpHYwL1xK4n2SgUL7niIq7bXooQ3T8bS5dv4l7wXxWzyGtgwePpavLoKDNZmWCgjY/rMvWLdixwzZTrrLKEu2zcGFnnJwKAJAnTx4aNqjNmTPnrZtYGil1V+Jhnm+1zLjuOqQ8Uat1Futu5MiBOBXIz6cDRloi7CxL2zbfess/w/w6mPJrzo4dex673yJFUjoiBQs60aNHRxYssP3Fr+hjF3Au6YpTsSLo7PVU8K/B2c3mU7AKlXg4vbBMAy/iIlLOM07FipgeylDAozAuL7kRH/kXOUlMBvmd23zYrEzq/Eqnym/pW2P4rlY/vqvVj4PzN7J35m8cXmjeDmwt/NhZ3Eq680KxotjZ21Hbvw4HNu83K1Oy4kv0mtCHcd3GkHAjIZM95Uznj4XjWtKNIsVeQG9vR03/WhzafMCsTImKJek+oTeTu43nZqr8nF1dsH/OAYB8BfLxsnc5Ys5Hk1PcOHqB/CVdyWdsmyUCahC56WHbTLx1h5WVerH6tX6sfq0f1w+fZ0eXr4k9bpvfITlSLr8HyaZ/KFYp5Q7Eapq2RCl1G+gBFFFK1dQ0ba9Syh4oq2laKJAfiDEuew+IMu6jlKZp+4H9Sil/UjpKO41ltimlygIvAmeAatbOMasGjphIyJHjxMffpGGrDvTu1pE2/jnrsZgGg4G+nwxj/bof0et0BC5cTljYWUaOGMDBQ8cICtrM/AXLWBg4g9NhwcTFxfNuh5RH9IaFnWXlyrWcOLadJIOBj/sOJdnY6JcsnkndOjUpXNiZiAsHGTV6MgsCl9Gz50C+/no0dnZ23Lt7l169Btkkbzu9jsF+3vRauI3kZI2AaqUoXbQgs7Yeo4K7C/XKe9K/6auMXrOPpXtOg1KMal0TpRRHLl1j/s4w7PQ6dAqG+PlQKF+ex3+ohRkMBj755AvWBS1Fp9exMHA5YafOMmL4AA4dTqnLBQuWEbhgOmFhwcTFxtOh48PHLZ89s5cCBfLj4GBPS/8mtGjxLqdOhzNh/FDat2+Fo2NeLpwPYcGCnxgz1jpPabJE+3RzK8r8H6ah1+vQ6XSsXLmWdeu3ANDnw/8x4NPeuLoW4cihLfy+YRsf9BxolTw/+eQLgtYuQa/XE7hwOadOnWX48E85fOg4Qes2syBwGQvmTyMsdBexsfF07PTwkednzuyhQP6UuvP3b0ILv/e4desWQwZ/zOnT4ezf9zsA380OZMGCZRbPJ7P81q5djF6vZ6Epv/4cOnSCdes2Exi4nPnzpxEaupPY2Hg6deqTKr/d5E+Vn59fB06fDmfKlJFUrpxyBXv8+Gmcs9EFl9Q0QzIbhwfyzqLP0Ol1HFvxB9fDo6jTvw0xxy8SvuUw3p19KVmrEsmJBu7c/Jvf+s8GoJj3y7ze25/kRAOalsyGYQu4E3fbxhmZ0wzJbBq+kPaLBqH0Oo4b86ttzO/clsO82tmX4rUqkpxo4O7Nv1nXf46tw86yZEMyc7+YzcjFo9HpdWxdvpnLZ//k3f7vce5EOAc2H6Dr0P+R1zEPg75LeXT+9ei/GNct5Qmg41dOwrOUJ3ny5eGH/YF8O3AGR3YeftRHWlWyIZnA4fMYsmgEOr2eHSu2EBl+mbb93+Hi8XMc2hLCu593IY9jHvrOSvl+vhH9F5O7j8ejtCcdhnVF0zSUUgTNXcPlM5dsnNFDmiGZkKELafhjSts8v+wPEs5GUWVgG2KPXTTrLGWk1f6p2D+fF52DHZ5NvNn2zkQSwnNOB1D8d8qW9xQopZoAXwHJQCLQC0gCZgBOpHTgpmmaNk8p1QsYRMp0uRNAfk3TuiilVgFlSBk12gp8AjwHzCZldCoJ6K9p2nalVBfAW9O0PsbPDwIma5q2I7MYE69fyLk3XWSDvO61bR2Cxdxa8oGtQ7Aop45zbR2CRSXn4PudsoNeZ+sZzpaVU57YaAlfFM29500AfS6uO4C9Ws6dKpwdHJVNr31bXIvE520dgkV1iF7yVByA984GW+1L+rmytaz+f2LTo0jTtI3AxgxW1cmg7HfAdxksT/+Xy+Au0CWDsoGkTNV78N42f7BFCCGEEEIIkSPl7ssMQgghhBBCiOyVbPsn8lpS7p7jIYQQQgghhBBPQEaQhBBCCCGEEFlno79PZC0ygiSEEEIIIYQQRtJBEkIIIYQQQggjmWInhBBCCCGEyDob/QFXa5ERJCGEEEIIIYQwkhEkIYQQQgghRNbJQxqEEEIIIYQQ4tkgI0hCCCGEEEKIrJN7kIQQQgghhBDi2SAjSEIIIYQQQogs0zSDrUOwKBlBEkIIIYQQQggjGUESQgghhBBCZJ08xU4IIYQQQgghng0ygiSEEEIIIYTIOnmKnRBCCCGEEEI8G2QE6Rl3J3qXrUOwqLzutW0dgsUoWwdgYbk9P0Muv/pWME8+W4dgMVPjQmwdgkUla5qtQ7AoN0dnW4dgUeHxUbYOwaImVixn6xAE5Pp7kKSD9Bi5+Qc25P4OkhBCCCGEEE9COkhCCCGEEEKIrEuWv4MkhBBCCCGEEM8E6SAJIYQQQgghhJFMsRNCCCGEEEJkXS5/SIOMIAkhhBBCCCGEkYwgCSGEEEIIIbIul/+pChlBEkIIIYQQQggjGUESQgghhBBCZJ3cgySEEEIIIYQQzwYZQRJCCCGEEEJkndyDJIQQQgghhBDPBhlBEkIIIYQQQmSdjCAJIYQQQgghxLNBRpCEEEIIIYQQWaZpBluHYFEygiSEEEIIIYQQRjKCJIQQQgghhMg6uQdJPIkmvvUIPbmT02HBDBr4Ybr1Dg4O/Lj0O06HBbMneC3Fi3ua1n02qA+nw4IJPbkT38Z1TcvnzZ1CdOQxjh7ZaravqlUrsnvXWg6GbGLf3vX4eHtZLrH/aNj4r6nT4m1adehp61Ae6VmqP1/fepw8uZNTYcEMzCTXpUu/41RYMLvT5DpoUB9OhQVz8uROGqfKte/H73P06DaOHNnK4sUzee6556ySywOWyCn87D6OHN5iqqcHvviiPxEXD3IwZBMHQzbRtGkDyyaXRna3VU9Pd7Zs+pkTx3dw7Og2PurTzWq5pNWgUW32HdrAgaOb+bhfj3TrHRzs+X7BNA4c3czGbT9T7EUPs/Uenm5ERB/hw4/+Z1rWo1cndu0LInj/Oj7o3dniOTyKJfLr+WEXgvevY9e+IObO/5rnnnOweB6ZadioNvsPb+Tg0S307Z9Rfg78EDiNg0e3sHnbygzz+zPmKH0+ftgGCzjlJ3DxN+w7tIF9BzfgUz1nfN/Vql+DoN0r+H3fSrp/1Cnd+ldrePHz5oUci9qNr5/5OWLOT9PYe3YLM5dMsVa4j+XrW4+TJ/4gLCyYgQMyOYcumUVYWDDBux6eV5ydC7Jp4wpib5xh2rSxpvJ58+Zh9eqFnDi+g6NHtjJu7BCr5fI4eV73wX3VAtzXLKRAl7fTrc/n74vn1pW4/TQbt59m83yrZgA8513VtMztp9m8uHc9eeu9bu3whYVJBykb6XQ6Zkwfh59/BypXrU/79q0oX76MWZn/dX2HuLgEylWoxbQZ85gwfigA5cuXoV27AKp4NaCF33t8M2M8Ol1K9SxatIIWfu+l+7yJ44cyZuzXePv4MmrUZCZOGGr5JP+lVs0bM/vrsY8vaEPPUv09yNXfvwNVqtbn7UxyjY9LoHyFWkyfMY/xqXJt3y6Aql4N8EuVq7u7Kx9++D9q1GjOK680RK/X075dwFOd0wONGr+Ft48vNWo2N9vf9Bnz8PbxxdvHlw0btlk+SSNLtNWkpCQGDhpF5Sr1eKOWP716dUm3T2vlNmnKCNq3eZ83fJrTuq0fZV8uZVbmvU5vER+fQHWvxsyeGciIUQPN1o+d8DlbN+80vS9XvgwdO7fDt35b6r7eEt8m9XmpVHGr5JOWJfJzdSvK+x90pFHd1tSu4YdOp+PNNi2skk9aOp2OL6eMpF3r7tT0aUabtn68/HJpszIdOrUlPv4m3l6N+G7mAkaONs9v/MShZvkBTPhyGFu37KTGq02pXdOfM2fOWzyXx9HpdAydOJCe735Cy9pv0/xNX0qVLWlWJibqKkP7jmHdqk3ptp8/awlD+oy0UrSPp9PpmD59LP4tO1K1an3atw+gfDnzc0DXrm8TF59AhQq1mDFjHuPHfQ7A3bv3GDnqKz4bPCbdfqdOnUPlKvXwqd6UmjW9adKkvlXyeSSdDufPPuLaR58T3aYb+ZrWx77ki+mK/b1pBzHv9CTmnZ7cXv07APcOHjMtu/rBQJLv3uXuvkPWzsD2tGTrvWzgme4gKaX02bm/6j6vcP58BBcv/kliYiIrVqyhpX8TszIt/X1ZvPhnAH75ZR0N6tcyLm/CihVruH//PhERlzl/PoLqPq8AsCt4P7Fx8ek+T9M08hfID6RcXYuOuZqd6WQrb6/KOBljzamepfpLm+vyFWvwT5Orfya5+vs3YXkmudrZ2ZE3bx70ej2OefMSHXPlqc8pJ7JEW71y5RpHjp4E4Pbtvzl9OhwPd1frJgZU867CxQuXuBRxmcTERH79ZR3NWjQyK9OsRUOW/fQrAL+t3kDtejVTrWvEpYjLnDl9zrSs7MulOBRyjDt37mIwGNiz+wAt/BpbJ6E0LJEfpBx7eR4ce455uXLlmuWTycCrafJb9cs6mvk1NCvTvEUjlv24CoA1qzdQJ1V+zf0aERFxmdOnwk3L8ud/ntdf92HxwpT2nJiYyM2EW1bI5tEqV6vA5YuRRF6KJjExifWrN1O/aR2zMtGXYzgbdg4tg+lI+3cd5O/b/1gr3Mfy8fFKd17x9/c1K2N2Dl21jvrG88o//9xhz54Q7t69Z1b+zp27/PHHHiCl3o4cPYmHh5sVsnk0h0ovkxQZTVJUDCQl8ffGHeSt98YT78exUR3u7g5BS5O3ePrl6g6SUmqMUqpvqvfjlFIfK6W2K6V+BE5k5+e5e7hyOTLa9D4yKgb3ND8wUpcxGAwkJNzExaUQ7u4ZbOvx6B8n/QeMYNKEYVw8H8KXE79g6LAJ2ZjNs+dZqj93D1ciU8UbFRWT7sdwZrl6uKff1t3DlejoK0ydOpsL5w9w+c8j3Lx5ky1bzK8CW5IlcoKUjuzv639i/77f6d7NfCSwd6+uHD60mXlzp1CwoJOlUkvH0m21eHFPvKpWYv+BIxbMImNubkWJjnzYsY6OvoKbe9F0ZaIiY4CU3G7evIWzcyEcHfPycb/3+Writ2blT4WFU/MNbwo5FyRv3jw08q2Lu6dtfqRZIr8rMVf0QZP3AAAgAElEQVSZ+c0PHA3dQWj4bm7evMWObbstn0wG3NxciYqKMb2PjrqCm1ua/NyLEmX8PzAYDNxMuI2zS0p+ffv14MsJ35iVL16iGNevx/Lt7EnsCF7D9G/H4eiY1/LJPEZR1xeIiX54Yetq9DWKuhaxYUT/jYe7G5GXH9ZdVNQV3NN0ZlLOlQ/bZsLNlPNKVjg5FaBFi0Zs3x6cfUH/S3ZFCpOU6iKC4dpf6F9wSVfOsUFt3JbPpfCXw9EXTV+3+ZrU4++N1ps9IKwnV3eQgB+AzgBKKR3wNhAFVAeGappWITs/TCmVbpmmaVkok7Vt0/qgRyc+HTiSkqV8+HTgKObNyTnzmJ9Gz1L9WSLXggWd8PdvQpmyNXixeDUc8zny7rutsy/ox7BU/dWt14rqrzXFz78DvXp1oVat1wCYM2cRL5d7nVe9fYm5co2vvhyeHWlkiSXbar58jqxYPo/+A0Zw69btbIj2yfzr3ND47POPmT0zkL//Nr8qH372PDOmzuOX1QtYseoHQk+cxpCUlL2BZ5El8nMqWIBmzRvyauUGVCpbC0dHR95q3zJ7A8+iDELPYtvUGDz0Y777dkG6/Ozs9FT1qsiC73+kXq0A/vn7Dp/0/yBb4/5XMsqVR5/3c7L/UnePo9frWbx4JjNnzufixT//dYzZJsNkzd/e2bmPKL8OxLTvwd39hyk8epDZen1hZ+xLl+TO3oMWDDQHS0623ssGcnUHSdO0COCGUuoVwBc4AtwADmiadjGz7ZRSPZRSB5VSB5OT/87y50VFxlDM09303tPDjZg006ZSl9Hr9Tg5FSA2No6oqAy2jX70lKtOHd/i119TbhpfuXItPj4546bVp9WzVH9RkTF4porXw8Mt3RS/zHKNjEq/bUz0VRo2rE1ExJ9cvx5LUlISq1f/Ts0a3tZJCMvkBJjawF9/3WD1mt9N9XTt2nWSk5PRNI0ffliKt5XrzxJt1c7Ojp+Xz+Onn35ltXG+vbVFR1/B3fPhiJa7uytXYq6lK+NhHAHS6/UUKJCfuNh4qnlXZcTogRw+sY0PenXmkwE96dajAwBLF6+kQZ038W/2HnFxCZw/f8l6SaWJPbvzq1vvdS5diuTGjTiSkpIIWrsJn9dsM0U0OvqK2RQqdw/XdNP9oqOu4GH8P9Dr9RRwep642Hhe9a7KyDGDOHpyOz17d6Hfpz3p3qMD0VFXiI66wqGDxwBYs2YDVbwqWi+pTFyNuWY2+lfU/QWuXbluw4j+m8ioGDyLPaw7Dw9XYqKvpC+Tqm06FShAbGz6KeRpfTdrEufOXeSbb37I3qD/paRrf2Hn+oLpvf6FIhj+umFWJjnhJiQmAnD71/U4lCtrtt6xcV3+2b4bknL33wN6VuXqDpLR90AXoCsw37jskb0eTdPmaprmrWmat06XL8sfFHLwKKVLl6REiWLY29vTrl0Aa4PMb8xcG7SJjh3fAqBNmxZs37HbtLxduwAcHBwoUaIYpUuX5EDIo6e3RMdcpW6dlLnbDerXIvxcpn0+kQXPUv2lzbV9uwCC0uQalEmuQUGbaJ9Brpf/jKL6a9XImzePKafTp8OxFkvk5OiYl+efTzkHODrmpXGjuoSGngHANdWXa6uAZqbl1mCptjpv7hROnT7HtOlzrZZLWkcOneCll0rwYnFP7O3tebNNCzasN38C5Ib123j7nTcBaNmqKbv+2AuAf9N3qVa5AdUqN2DOdwuZNnk2P8xdAkDhws5AyhPS/Fr6smplkBWzesgS+UVGRuPt42U69urUrcnZMxesm5jR4UMneKnUw/xat2nBhnXm+f2+fitvG0eXA1o1Zdcf+wBo0eRdvCrVx6tSfWbPCmTqlNl8P3cJ165dJyoqhtJlUh6AULduzXT3YNnCySOnePGlYni86Ia9vR3NWzVm+0brTSvObgcPHkt3XgkK2mxWJiho88PzSusW7Njx+Kmco0YOxMmpAJ9+OsIicf8b90PPYFfMAzt3V7CzI1+Tetwx3iv1gN54zgDIW7cmiRHmI1/5mjbgbys+nCfHyeUPaXgW/g7Sr8BowB54F6htqQ8yGAz0/WQY69f9iF6nI3DhcsLCzjJyxAAOHjpGUNBm5i9YxsLAGZwOCyYuLp53O/QGICzsLCtXruXEse0kGQx83HcoycZhxSWLZ1K3Tk0KF3Ym4sJBRo2ezILAZfTsOZCvvx6NnZ0d9+7epVevQY8Kz6YGjphIyJHjxMffpGGrDvTu1pE2aW4qt7Vnqf4e5LouTa4jRgzgUKpcAwNncMqY63upcv155VqOp8n1QMgRVq1ax4EDG0lKSuLY0VDmfb/0qc6paNEirPw55Yqn3k7PsmWr2bRpBwATJwyjatUKaJpGxKVIevf+zOq5ZmdbfeN1Hzp2aMvxE2EcDEnpbH3xxUR+t/IPAIPBwOCBo/n51x/Q6fX8uHglZ06fY/DQjzl6+CQbft/G0kU/M2vuVxw4upn4uATe79rvsftdsORbnJ0LkpiYxKBPR5EQf9MK2aRnifwOHzzO2jUb2bZrNUlJSZw4fopFC5ZZKSNzBoOBQQNGsXL1fPQ6PUsXr+T06XMMGdqXI0dOsGH9NpYs+pnZ8yZz8OgW4uLi6Z6F+vtswBjmfD8FBwd7IiIu06fXYCtk82gGg4FxQyYzd9kMdHodv/60lvNnLtJnUA9Cj51i+8ZdVPIqz/QFX1KgYH7q+dbmw4HvE1D3HQAWrZlDydLFccyXl61H1jK831h279hv03w++eQL1gUtRafXsTBwOWGnzjJi+AAOHU45ryxYsIzABdMJCwsmLjaeDh17m7Y/e2YvBQrkx8HBnpb+TWjR4l1u3rrNkCF9OX06nAP7NwAw67tAFiz4yVZppjAkEzvpG16YORF0Om7/toHEC5dw6tmZ+2FnubNzL/nffpO8dWuCwUBywi2uj/jStLnerSj6okW4d+i4DZMQlqSyMnf0aaeUmg3Ea5o2WClVDxigaZpfVra1c/DI1f9Bd6J32ToEi8rrbrH+sM1lMINaPEVy9YkFKJgn66PvImdJzuW/C9wcnR9f6CkWHh9l6xAsKrxiOVuHYFHFD295Kr7e72yaZbUTRV7f3lb/P8n1I0jGhzPUAN4C0DRtB7DDhiEJIYQQQgghcqhc3UFSSlUAgoBfNU2z3s0QQgghhBBC5FY2ujfIWnJ1B0nTtDDgJVvHIYQQQgghhHg65OoOkhBCCCGEECKb2ejvE1nLs/CYbyGEEEIIIYTIEhlBEkIIIYQQQmSdjCAJIYQQQgghxLNBRpCEEEIIIYQQWZfLn2InI0hCCCGEEEIIYSQjSEIIIYQQQoisk3uQhBBCCCGEEOLZIB0kIYQQQgghhDCSKXZCCCGEEEKIrJOHNAghhBBCCCHEs0FGkIQQQgghhBBZJw9pEEIIIYQQQohng4wgCSGEEEIIIbJO7kESQgghhBBCiGeDjCA9xq0lH9g6BPEf3IneZesQLCq/Zz1bh2Axybn86hSaZusILCo5F+fX0LmCrUOwKDuUrUOwqCRyb9sEKFv0BVuHYFFTYh1tHYJFzbB1AFmVy+9Bkg7SMy6ve21bh2Axub1zJIQQQgghsp90kIQQQgghhBBZl8tHkOQeJCGEEEIIIYQwkhEkIYQQQgghRNbl4vtMQUaQhBBCCCGEEMJERpCEEEIIIYQQWSf3IAkhhBBCCCHEs0FGkIQQQgghhBBZJyNIQgghhBBCCPFskBEkIYQQQgghRNZpMoIkhBBCCCGEEM8E6SAJIYQQQgghhJFMsRNCCCGEEEJknTykQQghhBBCCCGeDdJBEkIIIYQQQmSdplnv9RhKqaZKqTNKqXNKqcEZrH9RKbVdKXVEKXVcKdX8cfuUDpIQQgghhBDiqaOU0gMzgWZABeAdpVSFNMWGASs0TXsFeBuY9bj9yj1IQgghhBBCiKzLOfcgVQfOaZp2AUAptQwIAMJSldGAAsZ/OwHRj9upjCBZ0e7waAKm/Yb/1DXM3xmabn1M/N90n7+F9jPX89a369h1NgqAE5HXaTdzfcrr23VsC7ts7dBNmvjWI/TkTk6HBTNo4Ifp1js4OPDj0u84HRbMnuC1FC/uaVr32aA+nA4LJvTkTnwb1zUtnzd3CtGRxzh6ZKvZvqpWrcjuXWs5GLKJfXvX4+PtZbnE/qNh47+mTou3adWhp61DybLGjety/Ph2QkN3MmBA73TrHRwcWLx4JqGhO9m5c42pLp2dC7Jx4zKuXz/F1KmjzbZp29afkJCNHD68hXHjPrdKHqn5+tbj5Ik/CAsLZuCAjNvn0iWzCAsLJniXefscNPBDwsKCOXniDxqnap99+nTjyOEtHD2ylY8+6mZa/sWw/ly8cJCQAxsJObCRpk0bWD63kzs5FRbMwEyOvaVLv+NUWDC70xx7gwb14VRYMCdP7jTLLfzsPo4c3mI6xh6oUqUCu3b+xpHDW/j110Dy53/eorml1bBRbfYf3sjBo1vo279HuvUODg78EDiNg0e3sHnbSoq96GG23sPTjT9jjtLn425my3U6HTuC1/DTz3MtGv+T8Kr7CtO3zeKbP2bTqlebdOv9urdk6pZvmbxhOsN/HE1hjyIAlKhQknG/TuLrzd8wecN0XverZe3Qs6Rq3VeYsm0mU//4jpa9Wqdb37x7S77a8g2TNkxjaKr8CnsUYVzQFCasn8pXm2fQ6L0m1g49S3J7/b1Stxrfbv+OWTvn0Lp323TrW3YPYMbWmUzdOINRP42liDE/gC8WjWTJiZ8YumC4NUPOsvJ1qzJ061S+2DGdRr0C0q2v360Fn2+ewme/f8mHS4dRyKOwaV3Lwe8xZNNkPt/yNW1GdLFi1CIDHkDqH8aRxmWpjQQ6KKUigfXAR4/baa7uICmlCiqleqd6X08pFWSLWAzJyUxYG8LMTvVZ9ZEfG45HcP5aglmZeX+cxLfSiyz/sDkT29Vi/NoQAEq/UJAfezZlxYfNmdm5AWN+20+Swfo9d51Ox4zp4/Dz70DlqvVp374V5cuXMSvzv67vEBeXQLkKtZg2Yx4Txg8FoHz5MrRrF0AVrwa08HuPb2aMR6dLaX6LFq2ghd976T5v4vihjBn7Nd4+vowaNZmJE4ZaPsl/qVXzxsz+eqytw8gynU7H9OljCQjojJdXQ9q1a0m5cuZ12aVLe+LjE6hYsQ7ffPM9Y8cOAeDu3XuMGjWFwYPHmZV3di7IhAmf06zZO1Sr1oiiRQtTv/4bVs/Jv2VHqlatT/v2AZRPk1PXrm8TF59AhQq1mDFjHuONnbjy5VLap5dXA/z8OzBjxjh0Oh0VK7xMt/+9w+tv+PGqty/NmzeidOmSpv3N+GYePtWb4FO9CRs2bLNobjOmj8PfvwNVqtbn7UyOvfi4BMpXqMX0GfMYn+rYa98ugKpeDfBLc+wBNGr8Ft4+vtSo+XBK9pzZX/H50PG8Uq0Ra1b/zqef9rJYbmnpdDq+nDKSdq27U9OnGW3a+vHyy6XNynTo1Jb4+Jt4ezXiu5kLGDl6oNn68ROHsnXzznT77tm7M2fPnLdo/E9Cp9PRbcwHjOs8in6N+vBGy9p4lilmVuZi6EU+8+vPgKZ92bd+Dx2HdAHg3p17fNNvGv0bf8S4TqPoMqIbjgXy2SCLzCmdjq5jPmBS59EMaPQRr7esjUcZT7MyEaEXGOr3KZ81/YT96/fw7pDOAMRdi2NE688Y0rwfwwIG0bJXGwq9UMgWaWQqt9efTqejx9iejOk8ko8bfkitlnXS5Xch9AIDWvSnX5OP2bNuN50+72pat3rOKqb1+9raYWeJ0ineGv0/ZneZwPjG/Xm15Ru4ljb/TR0ZFsFX/kOY1GwQx37fT8CQlN8pJauV5SXvl5nYdCATfD/lxaqlKF0j7YyuZ0BystVeSqkeSqmDqV6pr5ypDKJLe+PSO0CgpmmeQHNgsVLqkX2gXN1BAgoC6S+N28DJyBsUc8mPp3N+7O30NKlcnB2nzEeCFPD33UQAbt+9T5H8eQHI62CHnT6lqu4nGVAZtgXLq+7zCufPR3Dx4p8kJiayYsUaWvqbX9Vr6e/L4sU/A/DLL+toUL+WcXkTVqxYw/3794mIuMz58xFU93kFgF3B+4mNi0/3eZqmkb9AfgAKOOUnOuaqJdP7T7y9KuNkjPVp4OPjZVaXP/+8Fn9/X7My/v6+LFmyEoBVq9abOjv//HOHPXtCuHfvrln5kiVfJDz8ItevxwKwbVswrVo1s0I2KdLmtGLFmgxzMrXPVeuob2yf/v6+6dqnj48X5cqVZv/+I9y5cxeDwcCunfsICGhqtZweSHvsLV+xBv80x55/Jseev38Tlmdy7GWmbNlS7Nq1D4AtW3fx5puPvZ8127zqXYWLFy5xKeIyiYmJrPplHc38GpqVad6iEct+XAXAmtUbqFOv5sN1fo2IiLjM6VPhZtu4u7vSuEk9Fi9cYfkksqi0VxmuRFzh2uWrJCUmsXvtLrwbVzcrE7r3BPfv3gfg7JEzOLu5ABBzMZorETEAxF2LJeF6AgWcC5CTpOQXw7XLVzEkJrF3bTDejV8zKxO296Qpv3Op8jMkJpF0PwkAewd7lM4233uPktvrr4xXGWIiYrj6Z0p+wWt3Ut3XvP5O7j3B/bv3gJT8XIz5AZzYfZw7t+9YNeasKu5Vmr8uXeXG5WsYEg0cXruHyr4+ZmXC94aSaKy7iCPhFHRNyU1Dw/45e+zs7bBzsEdvp+fWXwnpPkNkH03T5mqa5p3qlXoaQCSQuufuSfopdN2AFcZ97QXyAIV5hBzfQVJKlVBKnVZKfa+UOqmUWqqUaqSU2q2UCldKVVdKjVRKzVdK7VBKXVBKfWzcfCJQSil1VCn1lXHZ80qplcZ9LlVKWeWse+3mHVydHE3vizo5cu2W+YmjZ4MqrDt2Ed+vVtFn8Q4Gt/A2rTtx+TqtZwTR9tt1DGtZ3dRhsiZ3D1cuRz5sc5FRMbi7u2ZaxmAwkJBwExeXQri7Z7Cth/m2afUfMIJJE4Zx8XwIX078gqHDJmRjNs82d3dXIlPVR1RUDO7uRTMtYzAYuHnzFi4umV/BPX/+EmXLlqJ4cU/0ej3+/r54erpbJoEMeLi7EXk5xvQ+KuoK7h5uacq4EhmZUsZgMJBw09g+PdxMywGiIq/g4e5GaNgZatd+DWfnguTNm4emTRuY5dSrZxcOHdzM3DmTKVjQyWK5uXukry+PLB57HhnVtfHY0zSN39f/xP59v9O928NR3NDQM6bOZds2fhSzYj26ubkSFfWwLqKjruDmZt423dyLEhV5BTC2zYTbOLsUwtExL3379eDLCd+k2+/4SUMZ+cWXJOecefM4u7pwI+a66X1szA1cXF0yLd+wfWOO7DiUbnnpqmWwc7Dj6qUrFonz3yrk6myW342YGxRydc60fL32jTi247DpvbNbYSZtmMa3+77nt9mriLsWZ9F4n1Rurz9nVxeuR5vXn0vRzPNr1L4xh7enzy8nKljUmfjoG6b38TE3cCqa+fdbjXb1CdtxFICIw+Gc3RvKmJA5jD0wh1M7j3H1fJTFY85xtGTrvR4tBCijlCqplHIg5SEMv6Up8yfQEEApVZ6UDtJfj9ppju8gGZUGpgNVgHLAu0AtYADw4EaHckATUm7WGqGUsgcGA+c1TfPSNO3BHIxXgE9IedLFS4BV5gBp6Ub70o8JbjgeQctqpdg0sDXfdqzHsF/2kJycsl3lYoVZ9bEfSz9oyg87Q7mXaLBC1GnizaAvqaV5/GLGZbK2bVof9OjEpwNHUrKUD58OHMW8OVOeMGKRmX9fl5nXWXx8Ah9/PJTFi2eydetKLl2KJCkp6b8Hm0UZXerIak6ZbXv69Dm+mjyL39f/RNDaJRw/EWbKac7cRZQr/wbePr5cuXKNLyd9kS15ZMRSx17deq2o/lpT/Pw70KtXF2rVSrk6/H6P/vTq2YX9+37n+fz5uH8/MTvSyJL/Uo+Dh37Md98u4O+//zFb59u0Pn/9dYNjR9Pf+5nTZHaM1X6zLi9VLs1vc341W17whUJ8NLUfswbMeOw51doynO2QSYi1jPmtTZVfbMx1Pmv6Cf3q9KROm/o4FbbcRYjskqvq7wm+A+q+WY9SVUqzes4qS4eVPTI5X2bEu1UtXqxSim1zU35zFy5eFNfSHgyv0YsvavSk7OuVKFW9vCWjFY+gaVoS0AfYCJwi5Wl1oUqp0UqplsZinwLvK6WOAT8BXbTHHHBPSwfpoqZpJzRNSwZCga3GxE4AJYxl1mmadk/TtOvANaBoxrvigKZpkcZ9HU21vUnquY4/bDmYLQkULeDIlYSHX9pXE/4xTaF74NdD5/Gt9CIAVV8swr2kZOL/uWdW5qUXnMjrYMe5a+mnpFlaVGSM2ZVkTw83YtJMe0tdRq/X4+RUgNjYOKKiMtg2+tFT5jp1fItff025cXzlyrX4+OTchzQ8baKiYsxGQjw83IiJuZZpGb1eT4EC+YmNfXS7W79+C3XqBFCv3puEh1/g3LmIbI89M5FRMXgWezhi5OHhSkz0lfRlPFPK6PV6nAoUIDY2nqjIh8sBPDxdiY5J2TYwcBmv1WhGw0ZtiYuN59y5iwBcu3ad5ORkNE3jh/k/WrR9psRnXl9pp5xmduxFZlTXxmPvwfH71183WL3md1MOZ86cp3mLd3mtRjOWL1/DhQsRFsstrejoK3ikGvlz93DlyhXzthkddQUPz5RRML1eTwGn54mLjedV76qMHDOIoye307N3F/p92pPuPTrwWo1qNGvekKMnt/N94DRq16nB7HmTrZZTZmKv3MDF7eEsD2c3F2KvxqYrV/mNqrTu8xaTuo8zTTsDyPt8XoYs+IKfJi8h/MhZq8T8JNLm5+LmQlwG+VV6owqt+rRlcvfxZvk9EHctjsizl3m5es66zyO319+NmOsUdjevv9hr6fOrUqsqbfu0Y0K3sRnWX04Uf+UGBd0fjoYVdHPhZgYjlGXfqIxvn9bM7f6lKbcqTaoTcSSc+//c4/4/9zi14yglXimTbtvcTkvWrPZ6bCyatl7TtLKappXSNG2ccdlwTdN+M/47TNO0NzRNq2ocNNn0uH0+LR2k1L2E5FTvk3n4qPLUZQxk/gjzx5ZLPdexWyPvtKv/lYoeLvx54xZRcbdJTDKw8cQl6pYzv1nVraAj+8+n/Ci7cC2B+0kGCuV7jqi426aHMkTH3+bS9Zu4F7T+zZwhB49SunRJSpQohr29Pe3aBbA2yLyNrQ3aRMeObwHQpk0Ltu/YbVrerl0ADg4OlChRjNKlS3Ig5MgjPy865ip166TcW9Cgfi3CjT9MxX938OAxs7p86y1/goI2m5UJCtpMhw4pTy1q3bo5O3bseex+ixRJ+cIpWNCJHj06smDBT9kffCbS5tSuXUCGOZnaZ+sW7DC2z6CgzenaZ0jIUbOcihVzp1WrlA4DgKvrC6b9BgQ0JTT0jMVyS3vstW8XQFCaYy8ok2MvKGgT7TM49hwd8/L88ynnEUfHvDRuVNeUw4OclVJ8PqQvc+cutlhuaR0+dIKXSpXgxeKe2Nvb07pNCzasM3/C5e/rt/L2uylPRAto1ZRdf6TcL9Wiybt4VaqPV6X6zJ4VyNQps/l+7hLGjJxCpXK18apUn+5dPmHXzn30fH+A1XLKzLlj4biVdOOFYi9gZ2/HG/61Obj5gFmZEhVL0mNCLyZ1G8fNGw/vc7Czt2Pg3CH88ct29q1//LFpC+ePheNa0o0ixV5Ab29HTf9aHMogv+4TejO523iz/JxdXbB/zgGAfAXy8bJ3OWLOP/bJvFaV2+sv/Fg4biXdeaFYUezs7ajlX4eQNPmVrPgSvSZ8yPhuY0i48fTch/PnsfMUKeGKs2cR9PZ6qvm/zonN5hfEPSuW4O3x3ZnX/Utu37hpWh4XfZ3Sr1VAp9ehs9NT6rXyXD0Xae0UhIXl9r+DdAvIEXfO2+l1DPbzptfCbSQnawRUK0XpogWZtfUYFdxdqFfek/5NX2X0mn0s3XMalGJU65oopThy6Rrzd4Zhp9ehUzDEz4dC+fJYPQeDwUDfT4axft2P6HU6AhcuJyzsLCNHDODgoWMEBW1m/oJlLAycwemwYOLi4nm3Q8ozMsLCzrJy5VpOHNtOksHAx32Hmu4FWLJ4JnXr1KRwYWciLhxk1OjJLAhcRs+eA/n669HY2dlx7+5devUaZPWcs2rgiImEHDlOfPxNGrbqQO9uHWnjnzMfSwspdfnJJ1+wdu1i9Ho9Cxcu59Spswwf3p9Dh06wbt1mAgOXM3/+NEJDdxIbG0+nTn1M2585s5v8+fPj4GCPv38T/Pw6cPp0OFOmjKRy5ZSrvOPHTzONtlgzp3VBS9HpdSwMXE7YqbOMGD6AQ4dT2ueCBcsIXDCdsLBg4mLj6dDR2D5PpbTPY8e2YUgy0LfvMFP7XL5sLi4uhUhMTOLjvkOJj0/5ETBh/FCqVq2IpmlcunSZ3h+m++Pd2Zpb30+GsS7NsTdixAAOpTr2AgNncMp47L2X6tj7eeVajqc59ooWLcLKn38AQG+nZ9my1WzatAOAt9u3omevLgCsXr2ewIXLLZZbRrkOGjCKlavno9fpWbp4JadPn2PI0L4cOXKCDeu3sWTRz8yeN5mDR7cQFxdP9679rBZfdko2JPPD8LkMXTQSnV7H9hVbiQy/TPv+73L++DkObjlAx8+7kscxL5/OSjn/XY++zqTu46jp9wblq1ckf8H81G+b8oj5mQNmEBGWcy4kJRuSCRw+jyGLRqDT69mxYguR4Zdp2/8dLh4/x6EtIbz7eRfyOOahrzG/G9F/Mbn7eDxKe9JhWFfjFFhF0Nw1XD5zycYZmXsW6m/eF7MZsXgUOr2Orcu3cPnsn7zT/z3OnQgnZPMBOg/tSh7HPAz8LuX891f0X0zolvJE13ErJ+JRypM8+fIwb/8CZg6cwdGdj74wai3JhmRWDp9P7ww4BMUAACAASURBVEWfo9Pr2LdiB1fCI2ne7y3+PHGBk1sOETCkAw6Oeeg6K+X8Ehd1nXnvf8XR9fso+3olBm+cDJrGqT+OcnLr4cd8Yi6Ug+7ntASV0+a8pqWUKgEEaZpWyfg+0Ph+5YN1wErgtqZpk41lTgJ+mqZFKKV+JOXepd+BdcAATdP8jOW+BQ5qmhaY2effWTE6Z/8H/Uf5O8yxdQgWcyd6l61DsLj8nvVsHYLFJD/+xsynWk4/9/5X+Z9zfHyhp1RD55w11Su72dnoSanWkpTZjVC5RFIuP3cW0+XecwvAjIjlT8UB+M/svlY7kBx7Trf6/0mOH0HSNC0CqJTqfZfM1qVanrr8u2lW70i1rg9CCCGEEEKIrMvlHfGn5R4kIYQQQgghhLA46SAJIYQQQgghhFGOn2InhBBCCCGEyEGy8Pjtp5mMIAkhhBBCCCGEkYwgCSGEEEIIIbIulz/mW0aQhBBCCCGEEMJIRpCEEEIIIYQQWScjSEIIIYQQQgjxbJARJCGEEEL8n737Doviets4/j27giW2aBKl2GKJJXawogIqBgHBnqKJplcTa8xPY0nUmOSNRky1xJ7YK4K9IFawoIJdUWkaFTCxwjLvH7uuLEWJYXejPp/r4pKdeWY4t7M7Z2fPzKwQQuSfJnexE0IIIYQQQojHgowgCSGEEEIIIfJPrkESQgghhBBCiMeDjCAJIYQQQggh8i9TrkESQgghhBBCiMeCjCAJIYQQQggh8k+Ta5CEEEIIIYQQ4rEgI0hCCCGEEEKI/JNrkIQQQgghhBDi8SAjSPdRqvcUezfBqpS9GyD+lb/it9i7CVZVt3ZPezfBaloUq2TvJljV4j/32bsJVhP250F7N8GqdOrR7hluGzLs3QSrMmQa7N0Eq3rmidL2boJVBdu7AQKQAyTxCCvh6mnvJljVo35wJIQQQoj/Jk2+KFYIIYQQQgghHg8ygiSEEEIIIYTIP7lJgxBCCCGEEEI8HmQESQghhBBCCJF/8kWxQgghhBBCCPF4kBEkIYQQQgghRP7JNUhCCCGEEEII8XiQESQhhBBCCCFE/sn3IAkhhBBCCCHE40FGkIQQQgghhBD5J9cgCSGEEEIIIcTjQUaQhBBCCCGEEPkn34MkhBBCCCGEEI8HGUESQgghhBBC5J9cgySEEEIIIYQQjwc5QBJCCCGEEEIIEzlAsiIfH08OH9pKbGwEgwd9kGO+o6Mj8+b+RGxsBBHbVlGpkisAZcqUZt3ahVy5fIzvvx9jscwXo4dw6uQerlw+ZpMM9+Lj48nhw+EciY1g8OA88s37mSOxEWyPuJsPYMiQDzkSG8Hhw+G0b9/GPP3jfm9x4MAm9u/fyJw5P1K4cGGbZMlN+/ZtOHhwMzEx4Qwa9H6O+Y6OjsyZ8yMxMeGEh6+w2H5r187n0qUjTJz4hcUy3boFEBm5ln37NjB27P9skuPfGj5uAq39XiSo17v2bkqB8PBqTtiOxazdvZS3Pnotx3y3Zg1ZsmEOhxN30sHf2w4t/Oeeb9OAcRsn8dWWyXR8LyjHfJ83/BmzfiKjw75j0LyRlHV5yjxv2qkFjAr9llGh3/LR1E9t2ew8tWvfmr37N3Dg4Cb6D8z5vHN0dGTGrGAOHNzEpi1LqVjRBYDGjesRsTOEiJ0hbN+1Gv8AH/Myh2LD2bknjIidIWzZtsJmWXLTrn1r9h3YSPShzQzII9+s2ZOJPrSZzVuXmfN5eXuwbftKdu8JY9v2lbRp09y8TNeufuzaHUZk1Fq+HDPUZllyU9Dbr3BhRzZvXcb2XavZHbmG/w37xKZ5srNG3+Dg4MCPP47n0KEtREdvIijI1yZZwDp9ealSJZk/fwqHDm3l4MEtNGvaGIBRowazb+96oiLXEbr6d5ycylk/YBaebT0I3xNCxN4wPvjkzRzzHR0d+Hn6/xGxN4xV6//AtYKzeV6tOjVYuXYem3asYMP2ZRQu7AhAYNeObNi+jPURS5m76FeeLFPaZnnsScvMtNmPPdjtAEkpVVkpdfgf1M9USnUz/T5NKVU7l5o+SqkfCrKdD0qn0zFp0hgCOvWmfn0vevYMpFbN6hY1ffu+SEpqGrVrexAcPJVxpjfMN2/eYtTob/l06Jc51huyegMtPfxtkuFedDodwZPGEhDQi3r1vXixZxC1alnme73vS6SmpFGrtgeTgqcybtwwAGrVqk7PHoHUb+CNv/8rTA4eh06nw9m5PB988DrNmnWkYcO26PV6evYItEc88/YLDHyNBg3a0qNHJ2pm2359+vQkNTWNOnVaM3nyNMaM+Qwwbr/Ro79j6NCxFvVlypTmq6/+h6/vSzRq1I5y5Z7Cy6ulzTI9qKCO7fllwpj7Fz4EdDodI74ewlsvfYy/Rw/8uvhQtUYVi5qkhGQ+6zeakKVr7dTKf0bpdPT64k0m9hnL8Pb9adrJA+dqrhY152LP8EXAp4z0HUhU2E66f9bbPO/2zduM6jiYUR0HM/mtr23d/Bx0Oh3fTRhN1859cW/cgW7dA3iuZjWLmldf60Fq6lUa1PPmxx9+Y/SXxgO72NjjtPEIxKO5P12C+jBp8hj0er15OT/fl/Fo7o9nK/vsV8CYb8LEL+gS1Ae3Rj50796JmtnyvdanB6mpadSv68WPk6ebD3guX75C925v0rSJL++8NYip0ycAxn3LmHGf4e/3Cu5uHXjmmafw9Gxh82xgne1369Zt/Du+QstmfrRs7k+79q1xd29gj3hW6RsAhg79iD//vETdup40aNCWbdt22SxPQfflABMnfMG6tZupW7cNjRu358jREwB8993PNGrcHjd3H0JDNzB8WH+b5LyTdey3w+jV/V28mnUiqGtHqj9X1aLmpd5dSUu7ikdjX6b+PJthowYAoNfrCf51PEMHfoF3i0C6+/chPT0DvV7PF18NpXtAX9p7dOFI7HH6vvWyzTIJ63koR5A0TXtT07RYe7fjXtzdG3DqVBxnzpwjPT2dhQtXEJDl00yAgAAf5sxZBMCSpavx8vIA4Pr1G+zYEcnNm7dyrHfPnn0kJ1+0foD7aOLe0CLfgoUrCAjoYFFjkW/JarxN+QICOrBg4Qpu375NXNx5Tp2Ko4l7QwAKFSpE0aJF0Ov1FCtalMSkZNsGM8m+/RYtWpXr9ps7dzEAS5eGmg927my/W7duWtRXqVKREyfOcOnSFQA2bYqw6aeED8qtQV1KlSxh72YUiHqN6nDuzHnizyaQnp5B6LL1tH2hjUVNwvkkjseeRHtILkB9tkE1Lp5N5s/zFzGkZ7B71XYa+Lhb1BzdGcPtm7cBOL3/BE+WL2uPpuaLm1t9Tp8+S1zcedLT01myOAQ///YWNX7+7fhj3hIAli8LMx8M3LhxE4PBAECRwoXR/oOb0M2tPqdP3c23ePGqnPn82jNvrjHfsiz5DkbHkpxk3P/Hxh6ncOHCODo6UrlKRU5m2bds3rydwKAXbJjqLmttv2vXrgPg4FCIQg6F0Oy0ca3RNwC89loPvvnmRwA0TePy5RQrJzGyRl9eokRxPDya8tuMPwBIT08nLe0qAH/99bd5vcWeKGbT7diwcV3iTp/n3Nl40tPTWbE0lA4dvSxqfHy9WfSHcYR59Yp1eLRpBkAb7xYciTlO7GHj2TspKWlkZmailEIpRbEnigJQosQTXEj+02aZ7CpTs92PHdj7AEmvlJqqlIpRSq1TShVVSjVQSu1SSh1USi1TSj2ZfSGl1BallJvp975KqeNKqa1Ayyw1AUqp3Uqp/UqpDUqpckopnVLqhFLqaVONTil1Uin1VPa/8W+5ODsRfz7J/DghIRlnF6dsNeWJjzfWGAwG0q5epWzZHHH/k5xdyhMfn2h+nJCQhItz+Rw15001BoOBtDRjPmNuy2WdXcqTmJjMxIm/cPrUHs6f28/Vq1fZsCHcNoGycc6tjc7l8qwxGAxcvfrXPbffqVNnqVGjKpUquaLX6wkI8MHV1TnPelHwypV/mqSEC+bHyUkXKOf0tB1b9O+VLleGK4mXzI9Tki7zZLkyeda36uHNoS37zY8dCjsyYuXXDFs2jobZDqzswSnLfhEgMSEJ52yn4Tg5l7PYd169+hdlTK89N7f67I5cw849YXzSb7j5DbemaSxfOYutESvo0/dFG6XJydm5PPEJ2fqG7PtO53LmGmPfkHPfEhTky8HoGG7fvs3pU3HUeK4qFSu6mPYt7XGx077FWttPp9MRsTOEU3GRbN60naioaBslsmSNvqFUqZIAjBw5iJ07VzNv3s8880yBvy3JlTX68mefrcSlS5eZPm0ikXvW8usv31KsWFFz3RdffMrpU5G89FJnRo3+1soJ7yrvVI7ELK+9pMQLlM/23Czv/AyJCcYPZu9suyfLlObZqpVB05i3eAprtizivX6vA5CRkcFnA79kY8Ry9h3ZQvXnqvLHnCU2yySsx94HSNWBHzVNqwOkAl2B2cCnmqbVAw4BI/NaWCnlBIzGeGDUHsh62l0E0EzTtIbAfGCIpmmZwFzgFVNNOyBa07RLFDClck7L/kmJyqXIXp+K/VP5aXvuNXkvW7p0KQICOlC9RjMqVmpEsSeK8fLLXQqu0f/Ag+fLe/ulpqbRr98w5sz5kY0bF3P2bDwZGRn/vrEi/x7i11xe/snzsFlQKyrXq8qaKXevwRnc4l2+6PQpU/p9z0sj+vJ0RdteE5Bdvvad5FoEQFRUNE3dX8CzdRADB71nvk7Ap213WrfsRNfOr/PWO71p0dI+B4MFsW+pVas6X4z5lH4fGU91Sk29yicff86sOT+wbsNCzp5NwGCnfYu1tl9mZiYezf2pVaMFjRvXo1btGgXe9vywRt9QqJAeV1dndu6MonlzP3bv3sv48cP/fWPzwRp9eSG9noYN6/Lrr7Nxb9KBa9euM2TIh+aaESO+5tmq7vzxxzLef79vAaTIn3/z3NQX0uPerBEfvj2EIN/e+Pq1xaN1UwoVKsSrr/ekQ5tuNKrlyZGY43zU/y0rJfiPkREkqzqjadoB0+97gapAaU3TtpqmzQJa32P5psAWTdP+1DTtNrAgyzxXYK1S6hAwGKhjmv4b8Krp99eBGdlXqpR6WykVpZSKyjRce5BcxCck4Vrh7oiRi0t5khKTc9a4Gmv0ej2lSpbkypXUB/p7tpYQn2Qx+uHi4kRi0oUcNRVMNXq9nlKlSnLlSoopt+WySYkXaNu2FXFx57h06QoZGRksXx5G82ZutgmUTUJubUy6mGeNXq+nZMkS991+oaEbaN06EE/Pzpw4cZqTJ+MKvO0ibxeSLuLkcvcAoLxTOS4mF/jnIzaVknyZMs53P21+0qksqRdznp5Tu2Vd/D/sSvCb48m4fffN853aP89f5OiuGCrWqZJjWVtKTEg27xcBnF2cSMp2WnFiYrLFvjO3197xY6e4du06tWs/B2A+NfnSn5cJWbmOxm71rRkjTwkJSbi6ZOsbsu87E5LNNca+4W4+Z5fy/D7/V95+cyBnzpwzLxMWuhGvNp1p69XVrvsWa22/O9LS/iJi227atb/XWwPrsUbfcPlyCteuXWfFijUALF26mgYNnrdC63OyRl8en5BEfHwSeyKNI9VLlq6mYYO6Of72/PnL6Ny5ozVi5Sop8YLFmTxOzuW4kO25aawxjqDd2XYpKWkkJV5g1/YoUq6kcvPGTTat38bz9WtTp25NAM7GnQdg1fI1NG5qn+vjRMGy9wFS1otsDMCD3Pojr0PLycAPmqbVBd4BigBomnYeuKCU8sZ4gBWWY4WaNkXTNDdN09x0+iceoEnGT8GqVatC5coVcHBwoEePQEJC1lvUhISsp3fv7gB07eLHli3bH+hv2UNk1AGLfD17BBISss6iJiRk3d18Xf3YbMoXErKOnj0CjefOV65AtWpV2BO5n/PnEmjStBFFixYBwNvLg6OmCzttLfv26949INft16tXNwC6dOnIli077rvep582XvtRunQp3n67NzNM52gL2zi0P5ZKz1bEpaIzDg6F6Ni5PZvW2uc0zoJyJvok5So78ZTrM+gdCtE0oCUH1kda1FSsU4VXx71D8Jvj+evyVfP0YiWfoJCj8fvCiz9ZguqNa5J0It6m7c9u796DPFu1MpUqueLg4EDXbv6Ert5gURO6eiMvvdIVgKDOvmzduhPAfPoqQIUKzlSv8Sxnz8VTrFhRihc37suLFSuKd1sPjsQet2Gqu/buPUjVanfzdesWkDNf6AZe6WXM1zlLvlKlSrBkyW+MGvENu3bttVjm7r6lJG+93YtZMxdgD9bYfmWfKkOpUsbrIIsUKYynV0tOHDttw1R3WatvWL16g/muhF5eLTlyxDZ9nzX68gsX/iQ+PpEaNYw3QPD29uDIEePrrVq1ux/ABPj7cOzYKVvEBODAvsNUqVqRChVdcHBwILBLR9aFbbaoWbdmM91fMt7ExS/Qh+3huwHYunE7terUoIjpGulmLd04cewUyUkXqP5cVfMpoq09W3DSTs9Nm9MybfdjB4Xs8lfzlgakKKVaaZq2DegNbL1H/W5gklKqLHAV6A7cOTG5FJBg+j37vXynYTzVbo6maYaCanxWBoOBTz75nNUh89DpdcyauYDYI8cZOWIQe/dFExKynhkz5jNzxiRiYyNIuZJKr953bxd6/NhOSpYsgaOjA50COuDn9zJHjp7gq3HD6NkziGLFinL6VCQzZvzBl2MmWCPCffN9/MlwVq/+Hb1Ox8xZC4iNPc7IkYPYu9eY77cZ85k5M5gjsRGkpKTySi9jvtjY4yxavIqD0ZvJMBjo9/EwMjMz2RO5n6VLV7Nnz1oyMjKIPhDD1GnzbJ7tTr5PPvmcVavmoNfrmTVrAUeOHGfEiAHs3XuI1avXM3PmAn777XtiYsK5ciWVV1+9ewrBsWPbKVHCuP0CAjrg79+Lo0dP8N13o6hb13gm6Lhx33Py5Bm75PsnBo8cT+T+g6SmXqVtUC/ef6M3XbNdxPuwMBgMfDn0G6YvCEan17Pk95WcPHaajz59h8MHjrB5bTjPN6jNDzO/oWSpknj5ePDhkHcIaN3T3k3PU6Yhk7kjpjFg9nB0eh0RCzeReCKeoP49iTt0igMboujxWW8KFyvC+z8NBOBywiUmv/U1TtVceW3c22iahlKK0J+XkXjSvgdIBoOBwQNHsWzFLPR6HXNmL+LokRMMG/4J+/YdIix0I7NnLWDKtAkcOLiJlJQ0+r7WD4DmLdzoP+Bd0jMyyMzMZMAnI7hyOYXKlSswb/4vABTS61m0cCUb1tvnwNhgMDBwwEiWr5xtznfkyAmGf96fffsOEbp6A7NmLmDa9IlEH9pMSkoafV79CIB33n2NZ6tW4tPPPuLTz4zTAgNe5c8/L/PNtyOoW7cWAOO/CrbbvsUa26/O8zX5Zcq36PV6dDrFsiWhrFmzyW75rNE3DB/+Fb/99j3ffjuSS5eu8PbbA22Wp6D7coBP+n/O7FmTcXR04PSZc7z5pvFucGPHfkaNGlXRMjM5ey6BDz6w3S3pDQYDw4eM5fclU9DpdSyYt4zjR08x6LMPiT4Qw/qwzcyfs4TgX8YTsTeM1JQ03n9jEABpaVeZ8tMsQjcuQENj0/ptbFxn3IdM/OYnlq6eRXpGBgnnk+j//sPxFR7i3pS9zr9XSlUGQjRNe970eBBQHFgO/AIUA04DfTVNS1FKzTTVL1ZKbQEGaZoWpZTqC3wGJAEHAL2maR8qpQKBiRgPknYB7pqmeZr+lgNwGWiiadrRe7XTsbDrw32Bwn087Ndf3Itep79/0UPsr/gt9m6C1dWt/d89MPm3WhSrZO8mWNXiP/fZuwlWk/kI7zcBdLldrPEIuW14tK/9NGRa5XPf/4xnnni0v2coISXmoXgB/j2gk812hMUnrLT5/4ndRpA0TYsDns/y+P+yzG6WS32fLL97Zvl9BrlcR6Rp2gogr28DrI/x5gz3PDgSQgghhBBCPF7+a6fYWZ1SaijwHnfvZCeEEEIIIYTIp4fluwIflL1v0mBzmqaN1zStkqZpEfZuixBCCCGEEOK/5bEbQRJCCCGEEEL8CzKCJIQQQgghhBCPBxlBEkIIIYQQQuRfpn2+n8hWZARJCCGEEEIIIUzkAEkIIYQQQgghTOQUOyGEEEIIIUT+yU0ahBBCCCGEEOLxICNIQgghhBBCiPyTESQhhBBCCCGEeDzICJIQQgghhBAi3zRNRpCEEEIIIYQQ4rEgI0hCCCGEEEKI/JNrkIQQQgghhBDi8SAjSEIIIYQQQoj8kxEkIYQQQgghhHg8yAjSfWQ+4nfpUPZugBVlapn2boL4lw7FLrB3E6zqqcrt7d0Eq3mU9503M27buwlW9Sj3CwClixa3dxOs6uqt6/ZugngMaI/4CJIcIAnxkKpbu6e9m2BVj/rBkRBCCCH+m+QASQghhBBCCJF/j/gIklyDJIQQQgghhBAmMoIkhBBCCCGEyL9H/DJvGUESQgghhBBCCBM5QBJCCCGEEEIIEznFTgghhBBCCJFvj/ptvmUESQghhBBCCCFMZARJCCGEEEIIkX8ygiSEEEIIIYQQjwcZQRJCCCGEEELkn9zmWwghhBBCCCEeDzKCJIQQQgghhMg3uYudEEIIIYQQQjwmZARJCCGEEEIIkX9yDZIQQgghhBBCPB5kBEkIIYQQQgiRb3INkvhHOvh4EnM4nKOxEQwZ/EGO+Y6Ojvw+72eOxkawI2IVlSq5mud9OuRDjsZGEHM4HJ/2bQAoXLgwO7eHsDdqPdEHNjFyxEBz/fvv9eFobAQZtxMoW/ZJ64cDfHw8OXw4nCOxEQzOI9+8eT9zJDaC7dnyDRnyIUdiIzh8OJz2pnwAJ47vYv++DURFrmPXzlDz9M8/H0DcmSiiItcRFbmOF17wtm44TPkObSU2NoLBg/LIN/cnYmMjiNiWLd/gD4iNjeDwoa0W+T788A3279vAgf0b+eijN8zTPx8+gDOno4jcs5bIPWttki8/PLyaE7ZjMWt3L+Wtj17LMd+tWUOWbJjD4cSddPD/b7T53xg+bgKt/V4kqNe79m7KP9K2XWui9q1nf/Qm+g94J8d8R0dHZswKZn/0JjZuXkLFii4ANGpcj207VrFtxyoidobgH+BjXqZUqRLMnvsDkfvWsWfvWtybNLRZnqzatW/NvgMbiT60mQEDc24XR0dHZs2eTPShzWzeusycrbFbfXbsWs2OXavZuSuUgE53s/30y9eciYtkT+Qam+Uo6P7gXuvMqz8YOOBd8z70wP6N3LpxjiefLF3gWQu6b6hRo6q53VGR67h86Sj9PnoTsE/fkJV321bsjFrDnv3r6Nf/rRzzHR0dmDpjInv2r2PNxoVUMD0/K1R04VxyNJu3LWfztuV8O3E0AEWLFuH3hb+yIzKMbbtC+HzUwBzrtCWf9p4cOriF2JhtDBr0fo75jo6OzJ3zE7Ex29gWvtK8LcuUKc3atQu4fOko30/8Mtd1L1n8G/v2brBq++/Fs60H4XtCiNgbxgefvJljvqOjAz9P/z8i9oaxav0fuFZwNs+rVacGK9fOY9OOFWzYvozChR15ongx1oUvMf8cOhnB6HFDbRlJWMlDcYCklNqilHK7T00fpdQPtmpTbnQ6HcGTxuIf0Iu69b3o2TOIWrWqW9S83vclUlLSqFnbg++Dp/LVuGEA1KpVnR49AqnXwBs//1eYHDwOnU7HrVu3aOfTg8Zu7Wns5kMHH0+aNmkEwI6dkXTwfZG4uPM2zRcQ0It69b14MY98qSlp1KrtwaTgqYzLkq9nj0DqN/DGP0u+O9q1746buw/Nmne0WN+k4Km4ufvg5u7DmjWbrJ5v0qQxBHTqTf36XvTsGUitmpb5+vZ9kZTUNGrX9iA4eCrjxv7PmK+mcfs1aOCNf0AvgoPHotPpqFP7Od54/SVatPSnsZsPHTu2o1q1Kub1BU+einuTDrg36WD1fPmh0+kY8fUQ3nrpY/w9euDXxYeqNapY1CQlJPNZv9GELF1rp1YWrKCO7fllwhh7N+Mf0el0fDdhFN26vE4Ttw507R7AczWrWdS8+lp3UlPTaFjfm59+nMHoLz8F4EjscTxbBdGqRQBdg/ryffAY9Ho9AOO/GcGG9eG4N/KhZTN/jh87aZdsEyZ+QZegPrg18qF7907UzJbttT49SE1No35dL36cPJ0vxxjfkMTGHKNVy060aOZHUNBrBAePNWebN2cJQUF9bJqjoPuDe60zr/7guwm/mPehw4ePJzx8FykpqVbJWpB9w/Hjp8ztbtL0Ba5fv8HyFWHm9dmyb8iedfx3I3ix25u0bOJH567+1HiuqkXNK692JzX1Kk0a+vDLTzMZMXqQeV7cmXN4tQrCq1UQg/uPNE//cfJvtHD3xbtVZ5o0bUTbdq1tlimrO/1gp8BXqd/Am549AqmZvR/s8yKpqanUrtOK4MnTGDvG2A/evHmL0aP/j6FDc9+fBga+wN/Xrlk9Q150Oh1jvx1Gr+7v4tWsE0FdO1I927Z7qXdX0tKu4tHYl6k/z2bYqAEA6PV6gn8dz9CBX+DdIpDu/n1IT8/g2t/X8Wnd1fwTfz6R0JD19ohne5k2/LGDh+IA6WHRxL0hp07FcebMOdLT01m4cAWdAjpY1HQK8GHOnEUALFmyGm8vD9P0DixcuILbt28TF3eeU6fiaOJu/PT22rXrADg4FKKQgwOaZhzWPHAghrNn420VL0e+BQtXEJAtX0Ae+QICOrAgj3z/Fe7uDXJsv4Asn65DtnxLV+NlzueTY/u5uzegZs1q7N69nxs3bmIwGNgWvovAwBdsni2/6jWqw7kz54k/m0B6egahy9bT9oU2FjUJ55M4HnvykRled2tQl1IlS9i7Gf9IY7f6nD59lri486Snp7N0cQh+fu0sajr6teP3eUsBWL4sjDaezQHMz0WAIkUKm/cnJUoUp2VLd2bPWghAeno6aWl/2SqSeVyR2gAAIABJREFUmZtbfU6fuptt8eJV+Pm3t6jx82vPvLlLAFi2LAxPzxZAtmyFC6NleYpu376HlCsFe2BwL9boD+61zvz0Bz17BjJ/wXKrZy3ovsHb24PTp89y7lxCgbf9n2rUuB5xp89yNi6e9PR0li9dja9fW4sa347eLPh9GQCrlq+lVZvm91znjRs32b5tN2B83R2MjsXJpZx1AtxHjn5w0crc+8G5iwFYunQ1Xl4tAbh+/QY7dkRy89atHOt94olifPzxW3z1VbD1Q+ShYeO6xJ0+z7mzxm23YmkoHTp6WdT4+Hqz6I8VAKxesQ6PNs0AaOPdgiMxx4k9fAyAlJQ0MjMt37lXebYiTz1dht079togjbA2qxwgKaWGKKX6mX6fqJTaZPq9rVJqrlLKRym1Uym1Tym1SClV3DS/sVJqq1Jqr1JqrVLKKdt6dUqpWUqpMabHfZVSx5VSW4GWWeoClFK7lVL7lVIblFLlTMueUEo9nWVdJ5VSTxVUbmeX8pyPTzQ/jk9Iwtm5fJ41BoOBtLSrlC37JM7OuSzrYlxWp9MRFbmOpISDbNwYzp7I/QXV5H/E2aU88VnamJCQhEs+87k451z2Tj5N0wgL/YPdu8J4841XLNb3/nt92bd3PVOnfEfp0qWsFQ0AF2cn4s8nZWljMs4uTtlqyhMfb6wxGAykXTVtPxcn83SAhPhkXJydiIk9RqtWTSlTpjRFixbhhRe8cXW9O2T/3rt92Bu1nim//p/V8+VHufJPk5Rwwfw4OekC5ZyetmOLRG6cncuREG/5XHVytnxD5eRc3lxjMBi4mvYXZUynXjV2q8+uyDB27A6l/8efYzAYqFy5ApcuXeGnX75h2/aVTP5hHMWKFbVdKBNn5/LEJ2R7HWbfzziXM9cYX4d/mU8rc3NvQGTUWnZHruHjj4eZD5hszRr9QX7WmZeiRYvQwceTpctC71/8D1mrb7ijZ49AFmQ7sLNl35CVk3M5EhKSzY8TEy7g5GT52ivvVI6ELM/Pq1f/okwZ4/OzYiVXNm1bxorVc2jWvHGO9ZcsVQIfXy+2bd1pxRR5y/7cy3VbZtlmd/Ld7zT/USMH8/33U7lx40bBNzqfyjuVIzHLviUp8QLls28752dING3fO9meLFOaZ6tWBk1j3uIprNmyiPf6vZ5j/YFd/Vi51Han8Nqblmm7H3uw1ghSONDK9LsbUFwp5QB4AIeA4UA7TdMaAVHAANP8yUA3TdMaA78BY7OssxAwDziuadpw08HTaIwHRu2B2llqI4BmmqY1BOYDQzRNywTmAnfegbcDojVNu1RQoZVSOaZpmpaPmnsvm5mZiZu7D5WquOHu1pA6dZ4roBb/M9bK18YziCZNX8A/oBfvvdcHD4+mAPz662yeq9mCxm4+JCVf5NtvRhREjDzl0sR85tPyXPbo0ZN8+38/ERb6ByGr5nLwUCwZGRkA/DplNjVrtcTN3Yfk5It88/XnBZLjX8nHNhb2l9frzLIm53J3tuXeqGiaufvi1aYzAwa+S+HCjhQqVIj6Deowfdo8WrXsxLXrN+ify/U/1vbg+xljTVTkAdzdOtCmVSADB71P4cKO1mnofVhjf5mfdebF39+HHTujCvz0OrBe3wDg4OCAv78Pi5eEmKfZum/I6t88Py8kX6RhHS+8W3Xm82Hj+WXadxQv8YS5Rq/XM2X6BKb9MoezcbY7OySr/OXLudy9nof16tWmatVKrFxp34OHfPXx5FqEvpAe92aN+PDtIQT59sbXry0erZtalAV28WX5koL/AELYh7UOkPYCjZVSJYBbwE6MB0qtgBsYD2a2K6UOAK8BlYDngOeB9abpwwHXLOv8FTisadqdg6amwBZN0/7UNO02sCBLrSuwVil1CBgM1DFN/w141fT768CM3BqvlHpbKRWllIrKzMz/+bIJ8UlUyDI64OriRFLShTxr9Ho9pUqV5MqVFBISclk20XLZtLSrbA3fQQcfz3y3qSAlxCdZjH64uDiRmM988Qk5l72T787/0Z9/Xmb5ijDc3RsAcPHiJTIzM9E0jenT5+Fmmm4t8QlJuFa4O2Lk4lKepMTknDWuTnfzlSzJlSuppv+bLMu6licxybjszJnzadrMl7btupFyJZWTJ8/kzPfb7+bc9nQh6aLFqR3lncpxMbnAPkMQBSQhIRkXV8vnanK212Jilhq9Xk/JUiVynGJ2/Ngprl2/Qe3az5GQkERCQjJ7o6IBWLE8jPr162BrCQlJuLpkex1m388kJJtrjK/DElzJlu3YsVNcv3ad2nb6QMka/UF+1pmXnj06WeX0OrBe3wDwwgte7N9/iIsX7+6HbN03ZJWYkIxLlhEuZ5dyJCdftKhJSkzGJcvzs2TJEqSkpHL7drr5APXggRjizpyjapZrUidM+pLTp+L49edZNkiSu+zPvVy3ZUKyeZvdyZf99ZdVs6aNadiwHseO7WDTxqVUr16FdesWWifAPSQlXrA4K8TJuRwXcmy7C+YRzLvbLo2kxAvs2h5FypVUbt64yab123i+/t3P5Ws//xyFCuk5FB1rmzDC6qxygKRpWjoQB/QFdgDbAC+gKnAGWK9pWgPTT21N094AFBCTZXpdTdOynvi6A/BSShXJ+qfyaMJk4AdN0+oC7wBFTO06D1xQSnljPMAKy21hTdOmaJrmpmmam073RG4luYqMOkC1alWoXLkCDg4O9OgRyKqQdRY1q0LW0bt3dwC6dvVj85bt5uk9egTi6OhI5coVqFatCnsi9/PUU2UoVaokAEWKFKGtdyuOHTuV7zYVpOz5evYIJCRbvpA88oWErKNnLvmKFStK8eLG/+NixYrSvl0bYmKM5/iWL/+Meb1Bgb7m6dYSFRWdY/uFZLvYMiRk/d18XfzYYs63Psf2i4w8AMDTT5cFoEIFZ4KCfFmwYEWOfIGBL1g9X34c2h9LpWcr4lLRGQeHQnTs3J5Na8Pt3SyRzb69B6latTKVKrni4OBAl27+hIZutKgJDd3Iy690ASCosy/hplN2KlVyNd+4oEIFZ6pXr8LZc/FcvHiJhIQkqlU3vmFr49mCY0dtf5OGvXsPUrXa3WzdugUQutryrlehoRt4pVdXADp39mVrrtlcqF7jWc7Z8DrNrKzRH+RnnbkpWbIErVs1Y+VK69xYxRp9wx09ewblOL3O1n1DVvv3HaJK1cpUND0/g7r4sSbU8iYRa0I30fPlzgAEBHUgInwXAGXLPmm+OVGlyq48W7UyZ0031fhs+CeULFWcYUPH2SxLboz9YOW7z7HunXLvB3t1A6BLln4wL1OmzqHKs24891wLvNt24cSJM/j49LBahrwc2HeYKlUrUqGiCw4ODgR26ci6sM0WNevWbKb7S4EA+AX6sD3ceG3Y1o3bqVWnBkWKFkGv19OspRsnsrwXC+za8fEbPXrEb9Jgze9BCgcGYRypOQRMwDiytAv4USlVTdO0k0qpYhhHfI4BTyulmmuattN0yl0NTdNiTOubDrQGFimlOgO7gUlKqbLAVaA7EG2qLQXcuZoz+32Kp2E81W6OpmkFenK6wWDg40+GE7r6d/Q6HTNnLSA29jijRg4iam80ISHr+W3GfGbNDOZobAQpKam83Mt4C83Y2OMsXryKQ9GbyTAY6PfxMDIzM3FyKsdv079HrzfewWjx4lWsDjW+Wfjwg9cZNPB9ypd/mv17NxC2ZhPvvDu4ICPlmm91tnwjRw5ib5Z8M2cGc8SU75Us+RYtXsXBbPnKlXuaxYumA6AvpGf+/OWsW7cFgPFfDad+/dpomkbc2Xjef/9Tq2W7k++TTz5ndcg8dHods2YuIPbIcUaOGMTefcZ8M2bMZ+aMScTGRpByJZVevU35jhi3X3T0JgwZBj7+eLj5As4F86dQtuyTpKdn0O/jYaSmpgHw1bhh1K9fB03TOHv2PO9/YP9bgxoMBr4c+g3TFwSj0+tZ8vtKTh47zUefvsPhA0fYvDac5xvU5oeZ31CyVEm8fDz4cMg7BLTuae+mP7DBI8cTuf8gqalXaRvUi/ff6E3XbBeY/9cYDAYGDRzN0uUz0et1zJ2zmKNHTvC/4Z+wf98hwkI3MmfWQqZM+4790ZtISUnl9T4fA9CsuRv9B75DenoGWmYmA/uP5MrlFACGDBzNtOkTcXB0IO7MeT54b4hdsg0cMJLlK2ej1+uYM3sRR46cYPjn/dm37xChqzcwa+YCpk2fSPShzaSkpNHn1Y8AaN7CnYED3yU9I4PMzEz6f/I5l03ZZsycRKvWzShb9kmOndjB2DHfm29IYa0cBd0fALmuE+7dHwQF+rJ+QzjXr1vn+g9r9A1gvG6qXdvWOfb9tu4bsmf9bNAXLFw6DZ1ezx9zl3Ds6Ek+/V8/Duw/zNqwTcybs5ifpnzLnv3rSElJ4+3X+wPQvKU7n/6vHxkZBjIzDQzqP5LUlDScnMsxYPB7HD92ik3hxps7TJ86l7mzF9ssV9Z8n3zyOSGr5qLX65k5awFHjhxnxIiB7Nt7kJDV65kxcz4zfvue2JhtXLmSSu9X797W/dixHZQsUQJHRwcCAjrg5/8KR4+esHmO3BgMBoYPGcvvS6ag0+tYMG8Zx4+eYtBnHxJ9IIb1YZuZP2cJwb+MJ2JvGKkpabz/hvEOhGlpV5ny0yxCNy5AQ2PT+m1sXHf3w8OAoA707vGevaIJK1DWur5AKdUWWAOU1jTtmlLqOPCLpmkTTCM4XwOFTeXDNU1bqZRqAARjPMApBHyvadpUpdQWYJCmaVFKqdFADYzXEr0GfAYkAQcAvaZpHyqlAoGJGA+SdgHumqZ5mtrlAFwGmmiadvR+OQo5ujzSF2DkcrbtIyO3c6kfJc+Wcrp/0UPsUOyC+xc95J6q3P7+RQ8pQ6adPvazgZsZt+3dBKt6tPecULpocXs3waqu3rpu7yZY1VNFS9q7CVaVkBLzULwEL/m2sdn746fCttr8/8RqI0iapm0EHLI8rpHl902Aey7LHMA4SpR9umeW30dmmTWDXK4j0jRtBbAij6bVx3hzhvseHAkhhBBCCCEeL9Y8xe4/Ryk1FHiPu3eyE0IIIYQQQvwTj+5JAsBj9kWxmqaN1zStkqZpEfZuixBCCCGEEOK/57EaQRJCCCGEEEL8O/b6AldbeaxGkIQQQgghhBDiXmQESQghhBBCCJFvMoIkhBBCCCGEEP9BSqkXlFLHlFInTTdky62mh1IqVikVo5T6/X7rlBEkIYQQQgghRL79V0aQlFJ64EegPRAPRCqlVmqaFpulpjrG701tqWlailLqmfutV0aQhBBCCCGEEA+jJsBJTdNOa5p2G5gPBGareQv4UdO0FABN0y7eb6VygCSEEEIIIYTIP03Z7ufeXIDzWR7Hm6ZlVQOooZTarpTapZR64X4rlVPshBBCCCGEEP9JSqm3gbezTJqiadqUO7NzWUTL9rgQUB3wBFyBbUqp5zVNS83rb8oBkhBCCCGEECLfbHkNkulgaEoes+OBClkeuwKJudTs0jQtHTijlDqG8YApMq+/KafYCSGEEEIIIR5GkUB1pVQVpZQj8CKwMlvNcsALQCn1FMZT7k7fa6VygCSEEEIIIYR46GialgF8CKwFjgALNU2LUUp9oZTqZCpbC1xWSsUCm4HBmqZdvtd65RQ7IYQQQgghRL5pmfe9eYLNaJoWCoRmmzYiy+8aMMD0ky8ygiSEEEIIIYQQJjKCJIQQQgghhMi3/8oXxVqLjCAJIYQQQgghhImMIN2HXvdoH0MaMh/hjwC07LfBf7S0KFbJ3k0Q/9KluPX2boLVVKjmZ+8mWE1RB0d7N0H8C9fTb9m7CValcv1amEeH4VEfunhIaPf/AteHmhwgCSH+k56q3N7eTbCqR/ngSAghhHiYyQGSEEIIIYQQIt8e9YG8R/v8MSGEEEIIIYT4B2QESQghhBBCCJFv/6XvQbIGGUESQgghhBBCCBMZQRJCCCGEEELk2yN+o2AZQRJCCCGEEEKIO2QESQghhBBCCJFvcg2SEEIIIYQQQjwmZARJCCGEEEIIkW8ygiSEEEIIIYQQjwk5QBJCCCGEEEIIEznFTgghhBBCCJFvcptvIYQQQgghhHhMyAiSEEIIIYQQIt/kJg1CCCGEEEII8ZiQESQhhBBCCCFEvmmajCCJB+TT3pNDB7cQG7ONQYPezzHf0dGRuXN+IjZmG9vCV1KpkisAZcqUZu3aBVy+dJTvJ35pri9atAjLl83kYPRm9u/bwJgvh9osS246+HgSczico7ERDBn8QY75jo6O/D7vZ47GRrAjYpU5H8CnQz7kaGwEMYfD8WnfBgBXV2c2rFvEoYNbiD6wiY8+fMNmWe7w8fHk8OFwjsRGMDiPTPPm/cyR2Ai2Z8s0ZMiHHImN4PDhcNqbMgGcOL6L/fs2EBW5jl07Q83T69Wrzbbwlezft4Fly2ZSokRx64a7h+fbNGDcxkl8tWUyHd8LyjHf5w1/xqyfyOiw7xg0byRlXZ4yz5t2agGjQr9lVOi3fDT1U1s2+57atmtN1L717I/eRP8B7+SY7+joyIxZweyP3sTGzUuoWNEFgEaN67Ftxyq27VhFxM4Q/AN8zMuUKlWC2XN/IHLfOvbsXYt7k4Y2y/Ogho+bQGu/Fwnq9a69m5JvXm09iIgMZee+NXz4yZs55js6OvDrbxPYuW8NoRvmU6Gis3lerTo1CFn3B1t3rmLz9hUULuwIwNDhH7P38CZOxUfZLEdevNu2YmfUGvbsX0e//m/lmO/o6MDUGRPZs38dazYupILpuVmhogvnkqPZvG05m7ct59uJo83LLFgyjc0RK9i2K4RvJ45Gp7Nf917Q+YoWLcLvC39lR2QY23aF8PmogTbNk1379m3Yf2AjBw9tYeDA93LMd3R0ZNbsHzh4aAtbti6nYkVjP+Ht7UHE9lXs2bOGiO2raNOmeY5lFy6aSmTkWqtnyEv79m04eHAzMTHheb5vmTPnR2JiwgkPX5Htfct8Ll06wsSJX1gs061bAJGRa9m3bwNjx/7PJjny8qjvW0TBsdkeVCkVp5R6KpfpO6z9N+xBp9MxadIYOgW+Sv0G3vTsEUjNmtUtavr2eZHU1FRq12lF8ORpjB1j3HHcvHmL0aP/j6FDx+RY78Tvf6VefS+aNPWleQt3Ovh42iJODjqdjuBJY/EP6EXd+l707BlErVqW+V7v+xIpKWnUrO3B98FT+WrcMABq1apOjx6B1GvgjZ//K0wOHodOpyMjI4PBQ0ZTt54nLT0CeO+9PjnWaYtMAQG9qFffixfzyJSakkat2h5MCp7KuCyZevYIpH4Db/yzZLqjXfvuuLn70Kx5R/O0X3/5lv8NG0fDRu1YsTws147WFpROR68v3mRin7EMb9+fpp08cK7malFzLvYMXwR8ykjfgUSF7aT7Z73N827fvM2ojoMZ1XEwk9/62tbNz5VOp+O7CaPo1uV1mrh1oGv3AJ6rWc2i5tXXupOamkbD+t789OMMRn9pPLg7Enscz1ZBtGoRQNegvnwfPAa9Xg/A+G9GsGF9OO6NfGjZzJ/jx07aPNs/FdSxPb9MyLkv+a/S6XR89X+f83K3t2ndNIDO3fyo8VxVi5qXe3cjNTWN5o1e4NefZjN81CAA9Ho9P075hiEDRtGmeQBd/F8jPT0DgHVrtuDbtqfN82Sn0+kY/90IXuz2Ji2b+NG5q3+OfK+82p3U1Ks0aejDLz/NZMToQeZ5cWfO4dUqCK9WQQzuP9I8/Y0+H+PlEUirZv489dSTdOr8gs0yZWWtfD9O/o0W7r54t+pMk6aNaNuutc0yZaXT6Zgw8Qs6B/WhcaP2dO/eiZrZ9i2v9elBamoa9ep68sPk6Xw5xvhh5uXLKXTr9gZNmrzA228NZNr0iRbLdQrswLW/r9ssS3Z33rcEBr5GgwZt6dGjU473LX369CQ1NY06dVozefI0xoz5DLjzvuU7hg4da1Ffpkxpvvrqf/j6vkSjRu0oV+4pvLxa2ixTVo/6vsXWtEzb/diDTQ6QlFL6vOZpmtbCFm2wNXf3Bpw6FceZM+dIT09n4aKVBGT5JBogIMCHOXMXA7B06WrzTuP69Rvs2BHJzVu3LOpv3LjJ1q07AUhPT+fA/kO4uDrZIE1OTdwbWuZbuIJOAR0sajoF+DBnziIAlixZjbeXh2l6BxYuXMHt27eJizvPqVNxNHFvSHLyRfYfOAzA339f4+jRE7g4l7dbpgULVxCQLVNAHpkCAjqwIJdM91KjRlW2bdsFwIaN2+jcueM9663l2QbVuHg2mT/PX8SQnsHuVdtp4ONuUXN0Zwy3b94G4PT+EzxZvqw9mppvjd3qc/r0WeLizpOens7SxSH4+bWzqOno147f5y0FYPmyMNp4Gj/NvXHjJgaDAYAiRQqjme5lWqJEcVq2dGf2rIWA8TWYlvaXrSI9MLcGdSlVsoS9m5FvDRvX48zpc5w7G096ejrLl4TSoaO3RU2Hjt4s/GMFACEr1uLRphkAnt4tiT18jNjDxwBISUklM9PYu+6LiubihT9tmCR3jRrXI+70Wc7GmfItXY2vX1uLGt+O3iz4fRkAq5avpVUuIw3Z/f3XNQAKFSqEg4OD3e7Ba418N27cZPu23YDxdXcwOhYnl3LWCXAfbm4NOH3q7r5l8eJV+Ptb9u3+fj7Mm7sEgGXLQvH0NL7NiY6OITnpIgCxsccpXLgwjo7GUYgnnijGRx+9yddfT7ZhGkvZ37csWrQq1/ctc83vW0JzvG+5deumRX2VKhU5ceIMly5dAWDTpgiCgnxtkCanR33fIgrWfQ+QlFJDlFL9TL9PVEptMv3eVik1Vyn1klLqkFLqsFLq6yzL/a2U+kIptRtonmV6UaXUGqXUW3fqTP96KqW2KKUWK6WOKqXmKaWUaV5H07QIpVSwUirENL2sUmqdUmq/UupXQGX5O8uVUnuVUjFKqbdN095QSk3MUvOWUmrCv/kPzIuzc3nOxyeaHyckJOV4s+/sXJ54U43BYODq1b8oW/bJfK2/VKmS+Pm1Y/Pm7QXX6H/A2cUyX3xCEs7Z82WpMRgMpKVdpWzZJ3P838QnJOHsYrlspUquNKj/PLv37LdiCkvOLne3B+SxzfLI5OKcc9k7mTRNIyz0D3bvCuPNN14x18TEHDN3Pt26+lPB1Rl7KF2uDFcSL5kfpyRd5slyZfKsb9XDm0Nb7m4Xh8KOjFj5NcOWjaNhtgMre3F2LkdCfJL5cUJCMk7Olm+onJzLm2sMBgNX0/6ijOn119itPrsiw9ixO5T+H3+OwWCgcuUKXLp0hZ9++YZt21cy+YdxFCtW1HahHhNOTs+QmJBsfpyUeAEnp2zbzqkciQl3t91fV/+iTJnSPFutMhrwx5KprNu6hA/62f403ftxci5HQpZ8iQk585V3KkdClnxXr/5FmTLG52bFSq5s2raMFavn0Kx5Y4vlFi6dxpFTO/j772usXG6f07SsmQ+gZKkS+Ph6sc30YaGtOTuXIz7Bcl+ffd+StSavvj0oyJeD0THcvm384GnEiIEEB0/j+nXLAwxbcs6tH8uR7Z+9bzl16iw1alSlUiVX9Ho9AQE+uNqpr3vU9y22lqkpm/3YQ35GkMKBVqbf3YDiSikHwAM4AXwNeAMNAHel1J0LGJ4ADmua1lTTtAjTtOLAKuB3TdOm5vK3GgKfALWBZ4GWSqkiwK+Ar6ZpHsDTWepHAhGapjUEVgIVs8x7XdO0xqY291NKlQXmA51M7QfoC8zIx//BP2Y6trOgZftEL5eSHDW50ev1zJn9Az/+OIMzZ849cBv/jfzly63m/ss+8UQxFi6YyoBBI/nrr78LoLX5Y61MbTyDaNL0BfwDevHee33w8GgKwFtvD+C9d/uwe1cYxUs8we3b6QUR4x/LT+47mgW1onK9qqyZssI8bXCLd/mi06dM6fc9L43oy9MV7fPJblZ5bSfLmpzL3cm9NyqaZu6+eLXpzICB71K4sCOFChWifoM6TJ82j1YtO3Ht+g36D3x4rut5WOS67cjf67CQXk/TZo344K3BBL7wCr7+7fBo3cxqbX0QD76f0biQfJGGdbzwbtWZz4eN55dp31G8xBPmmh5d3uT5Gh4ULuxIqzb2yW3NfHq9ninTJzDtlzmcjYsv+MbnQ772l/epqVWrOl+OGcpHHxlPq69XrzbPVq3EqpX2u/YI/t22y0tqahr9+g1jzpwf2bhxMWfPxpORkfHvG/sAHvV9iyhY+TlA2gs0VkqVAG4BOzEedLQCUoEtmqb9qWlaBjAPuHNisAFYkm1dK4AZmqbNzuNv7dE0LV7TtEzgAFAZqAmc1jTtjKnmjyz1rYG5AJqmrQZSsszrp5SKBnYBFYDqmqZdAzYB/kqpmoCDpmmHsjdCKfW2UipKKRVlMDzYG/SEhCSLEQEXFycSky5kq0k2f5Ki1+spWbIEV66k3nfdP/30NSdPnmHyD9MfqG0FISHeMp+rixNJ2fNlqdHr9ZQqVZIrV1Jy/N+4ujiRlGhctlChQixaMJU//ljG8uVhNkhi2V7X+22zPDLFJ+Rc9k6mO/8vf/55meUrwnB3bwDAsWOn6Oj3Mk2b+bJgwQpOn46zZrw8pSRfpozz3Uv3nnQqS+rFlBx1tVvWxf/DrgS/OZ6M23c7uDu1f56/yNFdMVSsU8X6jb6PhIRki9NPXVzKk5xtWyZmqdHr9ZQsVYKUbK+/48dOce36DWrXfo6EhCQSEpLZGxUNwIrlYdSvX8fKSR4/iYkXLEaUnZzLmU9LuluTjLPL3W1XomQJUlJSSUy8wM7tkVy5ksqNGzfZuD6cevVr27T995OYkIxLlnzOLuVITrbMl5SYjEuWfCVN+W7fTiclxfgcPXgghrgz56hazfL1duvWbdaEbsK3o+VpbbZizXwTJn3J6VNx/PrzLBskyV1CQjKuLpb7+hzPzyw12ft2Z5fy/DG6lha5AAAgAElEQVT/V956c4D5A84mTRvRsGFdYo9EsGHjIqpVr0LYmvk2SnRXQm79WLZsWWvy+74lNHQDrVsH4unZmRMnTnPyZFyBtz0/HvV9i61pmrLZjz3c9wBJ07R0IA7jaMsOYBvgBVQF7jV8cVPTNEO2adsBX5XbIbpR1otuDBhvQ36//5kcH10opTyBdkBzTdPqA/uBIqbZ04A+3GP0SNO0KZqmuWma5qbXP9idxaKioqlWrTKVK1fAwcGBHt07ERKy3qImJGQ9vXt1A6BLFz+2bLn/6XKjRg2mVMkSDBw06oHaVVAiow5QrVqVu/l6BLIqZJ1FzaqQdfTu3R2Arl392GzKtypkHT16BOLo6EjlyhWoVq0KeyKNp2xNnfIdR46e5PtJU2wbiJyZevYIJCRbppA8MoWErKNnLpmKFStK8eLGT0CLFStK+3ZtiIkxnsP89NPG63iUUvzvs4+ZMmWOraJaOBN9knKVnXjK9Rn0DoVoGtCSA+sjLWoq1qnCq+PeIfjN8fx1+ap5erGST1DI0fhtAcWfLEH1xjVJOmGfT3az2rf3IFWrVqZSJVccHBzo0s2f0NCNFjWhoRt5+ZUuAAR19iXcdMrOnVNBACpUcKZ69SqcPRfPxYuXSEhIolp14xu2Np4tOHb0v3+ThofNgX2HeLZqJSpWcsHBwYGg/2fvvsOiuLoADv9mF7B3EQFbrNFYsMbeu6JYYmKvMdHP3mLsvSS2aEzUWFBsUeyKiIgNYwWxFzSiUhUFSYwFlvn+2HUBQd0Y2UU97/P4uDP3zHAPs8PsnXvnbrvmeO09mCTGa+9BOnRsDUDL1k04dkT/LN+hA76U/KwEGTKkR6vVUq1GZa5fu2n2HF7nrP8FPilSiAKG96ZL2xZ4evgkifH08OHLTm0AcHZpgq8hv1y5chgnfylYKB+FixTidtBdMmXKiJ2dfnCFVqulYeM6BF7/04xZJUiN/AC+HzeErNkyM3b0DDNmk5yf3zmKFE3429K+vTN79iS9tu/x2E/nLu0AaNOmOYcP6+eiypYtK1u3rGLihB84ccLPGL/8t7UULfI5pUrWpGGDL7gReItmTb8yX1IG+s8tCdfAL75wTvFzSxfj55bmHDr05nm2XlzrsmfPRt++XVm1asMbtkgdH/rfFvFumfo9SEeAEUAv4AIwD33P0glggWHmuCigI/C6JwwnAOOBXwBTp+y6ChRWFKWQqqpBQOKpQo4AnYFpiqI0A14MhM0GRKmq+o+hp8jYD6qq6klFUfIDFYCyJtbhX9PpdAwZMp7du9ai1WpxXf07V65cZ8KE4fj7nWf3nv2sct3IqpULuHzpKA8fRtO1W8K00teu/UHWLFmwsbHG2bkJLVp25q+//uL70YO4ejWQkyf0vSu/LnFl1Srz32nS6XQMHjIOjz3r0Wo0uK7+ncuXrzNp4gjO+J1j9+79rFy1kdWuC7l62ZeoqGg6ddFPGXr58nXc3Xdx4dxB4nQ6Bg0eS3x8PDWqV6Zrl/acv3CZM6f1DZPx42ex19PndVV55znteSmniRNH4JcoJ1fXhVwx5NQ5UU6b3Xdx/qWc7Oxscd+s7+nTWmnZuHE7Xl6HAPjqSxe+7dcDgO3bPXBd/btZ8nxZvC6etROWM2zNODRaDb6bfAgNDMZl6JcEXbhJgPcZOnzflXQZ09P/F/30ug9CIln09Wzsi+aj+4y+qKqKoih4/LqN0BuWbyDpdDpGDJ/M1u2uaLUa1rq5c/VKIGPGDeGs/wX2ehzAbfUmli2fy9lzPkRFRdOrx2AAqlarxNDh3xAbG4caH8/woRN5+EDfSzZq+GSWr5iPtY01Qbfu8r9+oyyZpklGTpzF6bPniY6OoYFLF/r37kq7lyYfSUt0Oh1jRk5jw5blaLUaNqzdyrWrNxg1ZiABZy/itfcg693c+XnpbI77exId9Yhveunfl48exbB0sSuePptRVZUD+4/g7XUYgPGTR9CmfQsyZMyA/yX9PubMWmyR/L4fMYVNW5ej0WrZsHYL167e4Lsxgwg4e5F9e31Y5+bOL8t+5NRZL6KiHtG311AAqtWozHdjBhEXpyM+XseIoROJjnqErW0u3Db+io2NDVqtBt8jJ3Bdaf7rQmrlZ+9gx7CR/bh+7SY+R/STO6z4bS1r17hbJL/hwyawY+catFota9Zs4sqVQMaNH4q//wU89niz2nUTy1fM4/yFQ0RFRdO920AAvvm2G4WLFGT094MY/f0gAFo5d+X+/QdmzyMlLz637NrlhlarZbXxc8sw/PwusGfPflxdf2flygVcunSEhw+j6dZtgHH7a9eOkSXR55aWLbtw9Wogc+dOokwZfW/LjBkLuHHj1quqkOr5fch/W8xNjf+wvwdJMeWZF0VRGgCeQHZVVR8rinIdWKKq6jxFUToB36Pv6fFQVXWUYZu/VVXNnGgfQeiH5j0AVgL3VVUd9SLO0OszQlXVlob4n4Ezqqq6KoriDPwIRAKnADtVVTsbnivaAOQGDgNtgYrAX8B2wBG4hv65pUmqqh4y7Hs04KSq6htv0aRLn98yUwGZiS7eQvMnmsGHfepCV4c3z2z1PtsSab4JOiwhMmj/m4PeY/mLtrB0FVKNzlLzzop34p/YZ28Oeo99yNd1gOzpM7056D0WHn3lvfj4crV4c7N9Pv70uofZfycm9SCpqnoAsE60XDzR6/XA+hS2yfzScqFEiz1fjjM0Xg4lWj8gUfxBVVU/NQzNWwycMcQ8ABLPQTk00evXzSNZE5j/mnIhhBBCCCFECiz0TQJmY7mv2v53vlYUJQC4hH743NK32YmiKNkNvV9PDI0+IYQQQgghhDAy9Rkki1JVdT7voMdHVdVooPgbA4UQQgghhBAfpfeigSSEEEIIIYRIGz70SRrelyF2QgghhBBCCJHqpAdJCCGEEEIIYbJ4C32Bq7lID5IQQgghhBBCGEgPkhBCCCGEEMJkqvQgCSGEEEIIIcTHQXqQhBBCCCGEECaTL4oVQgghhBBCiI+E9CAJIYQQQgghTCaz2AkhhBBCCCHER0J6kIQQQgghhBAmk1nshBBCCCGEEOIjIT1IQgghhBBCCJPJLHZCCCGEEEII8ZGQHiQhhBBCCCGEyWQWOyGEEEIIIYT4SEgP0hsofNgt5OzpM1m6Cqkm/gMfIOt+39/SVUhVH/rxy1+0haWrkKru3thj6SqkqoqlO1u6CqnmQ7/ueZZJZ+kqpKpSAXctXYVU1S27k6WrIJBZ7IQQQgghhBDioyENJCGEEEIIIYQwkCF2QgghhBBCCJPJJA1CCCGEEEII8ZGQHiQhhBBCCCGEyT7saZSkB0kIIYQQQgghjKQHSQghhBBCCGEyeQZJCCGEEEIIIT4S0oMkhBBCCCGEMJl8UawQQgghhBBCfCSkB0kIIYQQQghhsnhLVyCVSQ+SEEIIIYQQQhhID5IQQgghhBDCZCryDJIQQgghhBBCfBSkB0kIIYQQQghhsnjV0jVIXdKDJIQQQgghhBAG0oMkhBBCCCGEMFm8PIMk3lajRnU4f/4gly4dYcSI/snKbWxscHNbzKVLRzhyZAcFC+YDIGfO7Ozbt5HIyCvMnz8lyTbt2ztz+vQ+/P29mT59jFnyeJX6DWtxws+TUwH7GTS0b7JyGxtrlq9awKmA/ezz2Uz+Ao5Jyh3z2RMUepb/DexlXNe3XzeOntiN78k9fNO/e6rn8DoNGtbipP8+zgR4M3hYSvnZsMJ1AWcCvNnv455ifnfCAhgwqHeS9RqNhkO+O9iweVmq1v9NGjaqjd9ZbwLO+zB0+LfJym1sbFi1eiEB533wObSVAob8KlYsi+/x3fge382xE3to6dzYuM2Fy0c4fmovvsd3c+joDrPlkpKGjWrjH3CAcxcOMuwV+a1es4hzFw5y8PC2hPwqleOPE3v448Qejp/wwLlVQn6/LJnNraDTnDrtabY8UlKvQU18T3tw3N+TAUP6JCu3sbFm6cp5HPf3xMN7I/kLOBjLSn5WnN1eGzh8fBcHj+0gXTobAEaPG4zfRR9uBp8xWx7vwrgZ86jd4itcuiQ/xu+DGvWqstN3I7uPb6bXgK7JyitWdeJ3L1f8g4/SqGU94/oSnxXDbfcyth5eh7uPG01aNzBntU1Wvd7n7PDdwK7jm1LMr0JVJzZ6rcIv+AgNX8pvze5lbD28ls0+a9Jsfuk+r4zt+tXYblxLpi4dk5VnaNaEPLu2kXvVb+Re9RsZWjY3lmXp15fca1aSe81K0tevl2zbtKBBw9qc8vfC79wBhgz7Jlm5jY0NK1b/hN+5A+w/mPw6mC+fPXfDzyW7DqZFxeuUY+SBuYw6NJ+6/VolK6/auSFDPWczxGMm/TZPJE9RxxT2Ij4UaaKBpChKD0VRHBItBymKkjsVfo6HoijZDf+St1jeIY1Gw08/TaN16+44OTWgQ4dWfPppsSQxPXp8SXT0Iz77rDaLFi1n2rTvAXj69BmTJ89l9OjpSeJz5szOzJljaNasIxUqNMTOLjf16tVIzTReSaPRMHvuRL5s9zU1KjenbfuWFC9RJElM525fEB39iCpOjViy2JWJk0cmKZ82cwwH9h8xLn9ashhdu3egcb321KneisZN6lG4SEGz5PMyjUbDD3Mn0aFtH6pVbka79i0pUaJokpgu3doTHR1DJaeG/Lp4FZOmJM1vxqyxSfJ74dv+3bl+7Waq1v9NNBoNc+dNpl2bnlSu2IT2XzhT4tOk+XXr3oHo6BicytZn8c8rmTz1OwAuX75OnZqtqVmtJW1devDTomlotVrjdi2adaJmtZbUrdXarDklptFomDd/Cm1delCpQmO++KIVn76UX/ceHYiOfkS5MvVYvGgFU6eNBuDypWvUqtGK6lVb4OLSnYULpxvzW+e2BReXHuZOJwmNRsPMOePp1L4vtT93pk37FsnOvU5d2xMd/YhqFZqy9Jc1jJs0AgCtVsviZT8watgk6lRzpm3L7sTGxgHg5XmIZg2+NHs+/5VL80YsmTfN0tV4KxqNhjEzh9Ov0zBcanekWZtGFC5eKElMWEg44wZPZe+2/UnWP33ylLEDp9C2Tmf6dRzKqClDyJI1sxlr/2b6/EbQv9Nw2tTuRNM2DZPlFx4SzvjB01LMb9zAKbSt04X+HYcxcsrgNJcfGg1Zhw3m4YjR3O/SgwwNG2BVKPk166nPQSJ7fk1kz695stsDgHTVqmJdvBiRPfvwoG9/MnX6EiVjRnNn8FoajYYf503ii7a9qVqpKe2+aJnsOtG1+xc8in5ExXIN9NfBqaOSlE+fPRbvFK6DaY2iUWgzpScresxmbqMROLWqnqwBdHbHMeY3/Y4Fzb/n8NLdOI9P3uAXH4400UACegAObwoyhaIorxw2qKpqc1VVo4HsQKo2kCpXduLmzSBu3bpDbGwsmzfvwjnRnXYAZ+fGrF3rDsDWrR7Gxs4//zzhjz9O8+zZ0yTxn3xSgMDAW0RGPgTAx8cXF5dmqZnGK1WoVJZbf97mdtBdYmNj2bZlD81aNEwS06xFAzZu2AbAzu2e1KpbLVFZQ24H3eXa1RvGdcVLFMHv9DmePHmKTqfjj2OnaNGykXkSeknFl/LbumUPzVomvYPZvEVDNq7fCsCO7Z7UTpRf85YNCQq6y9UrgUm2cXDIS6MmdXFbvSn1k3iNSpXK8eeftwky5LfFfXey33WLlg3ZsG4LANu37aVu3eoAxuMDkD5dOtQ0+KBmpUrl+PNmQn7u7ruS59eiEevW6vPbZmJ+x46dIuphtHmSeIXyFcty68873LkdTGxsLNu3eNCkef0kMU2a12fTBn0P3u4d+6hZpyoAdevX4PLFa1y+eA2AqKho4uP1X/fnf+Yc9yLumzGTd6OSUxmyZc1i6Wq8ldLlS3HnVjAhd0KJi43Dc7s39ZrUThITejecwCs3jcfphdt/3uXOrWAA7kdE8jAyihy5sput7qYoXb4Ud1/Kr26TWkli3uf8rEt+ii44FF1oGMTF8cTbh3Q1TbtpaVWoIM8DzoEuHvXpU+Ju3CRd1SqpXON/p6LhOmG8DrrvoXmy63xDNqzTX+d3bPOkzkvXwdu3kl8H06L8TkWJvB3Ow7v30MXqOLfrOJ81rpQk5tnfT4yvbTKmQ02LFz8zUlHM9s8S3qqBpCjKKEVRBhlez1cUxcfwuoGiKGsVRWmsKMpxRVH8FUXZrChKZkP5BEVRTiuKclFRlGWKXnugErBOUZQARVEyGH7MQMP2FxRF+dSwfSZFUVYa9nFWUZTWhvU9DD9nF+ClKIq9oihHDPu7qChKLUPci56pWUARQ/mPb//rezUHh7wEB4cal0NCwnBwsHtljE6nIybmL3LlyvHKfd68eZvixYtQsGA+tFotzs6NyZfvnbQr/zV7eztCg8ONy6Gh4di/lJ+9vR0hwWFAQn45c+YgY8YMDBr6NT/O+jlJ/JXLgVSrUYkcObOTIUN6Gjaug0M++9RPJgX29nkJCQkzLoeGhGNv/1J+DnaEGH4HOp2OmEd/kzOXPr/BQ/vyw8xFyfY7Y/ZYJo3/IdmHAXOzd8hLcHDi/MJwSCG/4JePn+H9WalSOU6e9uT4qb0MGTTO2KBQVZXtO1dz2HcHPXp+ZaZsknNwyEtwouMXEhKOg0Pel2LsjDE6nY5Hic6/SpWdOH1mHydPezJ48FhjfmmBvX0eQkMSzr2w0Ijk7017O0IT5fZXzF/kzJmdwkULoQIbtvyG1+Et/O89GPbyIbOztyUi9J5xOSLsHnnsbf/1fkqXL4W1tTV3g0LeZfX+szz2toSHRhiX74Xdx+6t8iuZJvPT2uZGdy/h+MXfv4/WNvngl/R1apPbdTnZp05Ck0eff+yNm6T7/HNIlw4lW1ZsKjihzfPvfzepSX+Ne+k6mOxzzEvX+STXwW+YncJ1MC3KZpeDR6EPjMuPwh6Q1S7557FqXRvx3eEFNB/diZ2TVpuzisLM3naShiPAcGAh+sZNOkVRrIGawAVgHNBQVdXHiqJ8BwwDpgA/q6o6BUBRFDegpaqq7oqiDABGqKp6xlAGEKmqagXDULgRQB9gLOCjqmovRVGyA6cURfE21KkaUFZV1YeKogwH9qmqOl1RFC3wcr/1aKC0qqpOb5n/GxlySOLluw2mxCQWHf2IQYPG4ua2mPj4eE6c8OOTTwr898q+hbfOD5XvxgxiyWJXHj/+J0lZ4PWbLJz/G1u2r+Lx43+4dOEquri4d1txE6VQdZOP3+ixg/j151XJ8mvctB737z/gXMAlatS07J1Ck/JL6a6NIebMmXN8XrkpxUsUYemyOez3OsSzZ89p3OALwsPvkds2Fzt2reH69Zv8cex0aqTwWv/1/DtzOoDKlZpQokQRlv42F699+vzSgledV2+MUcFKq+XzqhVoWu8Lnjx5yuYdqzgXcAnfIydSrb7iNf7lNSAlufPkYsaiCYwbNDXN3dE25e/Mm+TOk4vpiyYwbtC0NJffKxJMsvj02HGeePtAbCwZWzuTfexoHg4ezvPTZ3hWsgS5l/xMfHQ0sRcvo+ose+PsZSZ9RnnldXAwvy5Ofh1Ms1I8lslXHXfbz3G3/Ti1qk79gW3YNPzX1K9bGpW23q3v3ts2kPyAioqiZAGeAf7oG0q1gJ1AKeCY4eSyAY4btqunKMoo9A2WnMAlYNcrfsbWRD+rreF1Y6CVoigjDMvpgRcthP2qqj40vD4NrDQ02rarqhrwb5JTFKUv0BfAyioHWu2/H/ccEhKWpHfH0dGesLB7KcaEhISj1WrJmjULD98wfMfDwxsPD32bsHfvTugs9Ac1NDQch3wJd+QdHPIS/lJ+oaHhOOazJyw0wphf1MNoKlQqh3PrJkycMpJs2bISr8bz9NlzVixbyzo3d9a56Ycdjp0wjNDQcCwhNDQcR8eE3isHx7yEh7+UX0g4jvnyEhpqOH7ZMhP1MJqKlcrRqnVTJk0dpc8vPp6nT59h72BHs+YNaNS4DunSpyNLlsws+W0O33494uUfn+pCQ8LJly9xfvaEvZxfqD7GmF8K78/r127y+PE/lCpVgrNnLxh/R5H3H7B7p5d+wgMLNJBCQsLIl+j4OTrmJSws4qWYcPI52hNqOP+ypZDftWs3+efxP5T6rARn/S+Ype5vEhoagYNjwrln72CX4rnn4Jhw7mXJmoWoqGhCQyM4fuy0Mc8D+49QtlwpaSBZSEToPewc8hiX7ezzcD880uTtM2XOyOK1c1k0exnn/S+lRhX/k4jQ++RN1OOQx96We/8yv5/XzuHn2cu4kAbz0927jzZPwvHT2Nqii3yQJEaNiTG+/mfXHrL0S5jw5+816/h7zToAsk8ch+5ucCrX+N/RX+Neug6+/LfGEPPydbBS5XK0dmnK5ETXwWfPnvPbUjdzp2GSR+EPyeaQy7iczT4XMfeiXhl/btdx2kyTHvgP2VsNsVNVNRYIAnoCfwBHgXpAEeAW+saKk+FfKVVVeyuKkh74BWivqmoZ4Df0DZxXeWb4X0dCQ04B2iXadwFVVa8Yyh4nqt8RoDYQArgpitLtX+a3TFXVSqqqVnqbxhHo77AXLfoJhQrlx9rami++cGb37qQPoe7evZ8uXdoD0LZtcw4d+uON+7W11Z/A2bNno2/frqxateGt6vdfnfW7QOHChShQMB/W1ta0adcCT48DSWI8PXz4qmMbAFq5NOXoYX072blpJyqUqU+FMvVZ+utqFsxZwoplawHInTsnoJ8BrmWrxmx1323GrBL4+12gcJGE/Nq2a4HnnqT57fU4wFed9G331i5NOXpY/yGzRZNOOJWuh1Ppeiz5xZX5c5ewfNlapk6aS+lPa+FUuh59egzh6JETFmkcAfj5nadwkUIUNOTXrn1LPPZ4J4nx2HOAjp3bAeDSphmHDcfvxRBPgPz5HShWvDC37wSTMWMGMmfOBEDGjBmo36AmVy5fN2NWCfz8zlOkaEJ+7ds7J8/Pw5vOXfT5tXllfo4UK16YO7fTzgeXAP8LFC5SkAIFHbG2tsalXXO89h5MEuO19yAdOuonyWjZugnHDA2gQwd8KflZCTJkSI9Wq6VajcoWnzDkY3Yp4AoFC+fHsYA9VtZWNHVpyCGvoyZta2VtxYJVs9m1eS/7d/mkck3fzqWAKxQonC9Jfoe9fE3a1sraivmrZhnyO/jmDSwg9upVtPkd0drnBSsrMjSsz7NjSa/jmlw5ja/T1axO3O07hgINStasAFgVKYxVkcI8O23+m0mv4+93niJFCiZcB9u3YG+y6/wBOnbWX+dbt2nKEcN1sHnjjpT7rC7lPqvLr7+4Mm/Or2m2cQQQfO4muQvlJUc+W7TWWso5V+Pyfr8kMbkLJdyY+rR+eR4EWeYGblrxoT+D9F++B+kI+qFvvdAPq5uHvrfnBLBYUZSiqqreUBQlI5APeHHbIdLwTFJ7wN2w7i/AlKds96F/NmmgqqqqoijlVVU9+3KQoigFgRBVVX9TFCUTUAFYkyjE1J/31nQ6HUOGjGfXLje0Wi2rV//OlSvXmTBhGH5+F9izZz+urr+zcuUCLl06wsOH0XTrNsC4/bVrx8iSJQs2NtY4OzehZcsuXL0ayNy5kyhTphQAM2Ys4MaNW6mZxmvzGz1yCpu3rUCj1bLezZ1rV28weuwgAvwv4rnXh3VrNvPLsh85FbCf6KhHfN1z6Bv3u2rtz+TMmZ3Y2DhGDZ/Mo+iYN26TGnQ6HaNGTMZ9+0q0Gi3r3Ny5evUG348dzNmzF/D08GHtms0s+W0OZwK8iYqKpo8J+aUVOp2OkcMnsW3HarRaDW5rNnP1SiBjxw3B3/8Cez0OsGb17yxbPo+A8z5ERT2iZ/dBAFSrXomhw74lNi6O+Ph4hg2ZwMMHURQqlJ91G5cA+qFcmzfttNjsRTqdjuHDJrJ95xpjfleuBDJu/FD8/S/gsceb1a6/s3zFfM5dOEhU1CN6dBtoyK8yw4cn5Dd0yHgePNDfSVzl+hO1alclV64cXAv8g+nTFrDGzBNu6HQ6xoycxoYty9FqNWxYu5VrV28wasxAAs5exGvvQda7ufPz0tkc9/ckOuoR3/QaDsCjRzEsXeyKp89mVFXlwP4jeHsdBmD85BG0ad+CDBkz4H9Jv485sxabNbe3MXLiLE6fPU90dAwNXLrQv3dX2jk3sXS1TKLT6ZgxZi6/bliAVqth+4bd3Lx2i/6jvuZywBUOefnymVNJFqycRdbsWajTqCb9RvahbZ3ONGnVgApVnciWIyutvtRPHT1+8DSuXUo7D8TrdDpmjpnHrxvmo9FqE+XXh0sBVzlsyG/+ypnG/PqP7E3bOl1SzG/C4OlpKj908cTMW0jOeT+ARsOTPXuJuxVE5t49ib16jWfH/iBT+7b6iRt0OuJjYoiePku/rZWWXIt/AkD95x+ip0yHNDbETqfTMWr4ZLZsX4VWq2Wdm/468f24wQT4X2SvxwHcVm9iyfK5+J07QFRUNL17DLF0td9KvC6eHRNc6bPmezRaDac3HSIiMJjGQ9sTfOEWl739qN69MUVrlCE+Lo4njx7z+0c8vO5joLztmF5FURoAnkB2w7NG14ElqqrOUxSlPjAbSGcIH6eq6k5FUaYBX6HvfboL3FZVdZKiKO2AGcAT9M8SXQEqqaoaqShKJWCOqqp1DRM4LACqo+9NClJVtaWiKD0M8QMMdesOjARigb+Bbqqq3lIUJSjRftcDZYG9qqomnZ85kfTpC6SxQc/vVmab13Xivd/i09p49XcsLj7tTByQGj704/chn3sAd2/ssXQVUlXF0p0tXYVUk+Lzhx8Qz6Lp3hz0HisVcNfSVUhVX+eubOkqpKofgja8Fyegp91XZrtIN43YaPbfyVv3IKmqegCwTrRcPNFrHyDZO1hV1XHoJ3B4ef0WYEuiVYUSlZ0B6hpePwGSfVOZqqqugGui5dVAsulFVFVNvN9OKeUlhBBCCCGE+N1jKjQAACAASURBVHj9lyF2QgghhBBCiI9M2hoQ+u6llS+KFUIIIYQQQgiLkx4kIYQQQgghhMksNbucuUgPkhBCCCGEEEIYSA+SEEIIIYQQwmTxH3YHkvQgCSGEEEIIIcQL0oMkhBBCCCGEMFm8PIMkhBBCCCGEEB8HaSAJIYQQQgghhIEMsRNCCCGEEEKYTLV0BVKZ9CAJIYQQQgghhIH0IAkhhBBCCCFMFm/pCqQy6UESQgghhBBCCAPpQRJCCCGEEEKYLF6Rab6FEEIIIYQQ4qMgPUhCCCGEEEIIk8ksdkIIIYQQQgjxkZAepDcYb1fL0lVIVfOjTlu6CqmmQc5Slq5Cqtp7/7ylq5CqnsY9t3QVUlUGaxtLV0H8B34X11m6CqlLF2vpGqSaKuV6WboKqap0toKWrkKq+q5MqKWrIPjwZ7GTBpIQQoh3rmLpzpauQqr54BtHQgjxkZMGkhBCCCGEEMJk8R/2JHbyDJIQQgghhBBCvCA9SEIIIYQQQgiTxfNhdyFJD5IQQgghhBDivaQoSlNFUa4pinJDUZTRr4lrryiKqihKpTftUxpIQgghhBBCCJOpZvz3OoqiaIHFQDOgFNBRUZRk0xgripIFGAScNCU/aSAJIYQQQggh3kdVgBuqqv6pqupzYCPQOoW4qcAPwFNTdioNJCGEEEIIIcT7yBG4m2g52LDOSFGU8kB+VVV3m7pTmaRBCCGEEEIIYTJzTvOtKEpfoG+iVctUVV32ojiFTYwj8xRF0QDzgR7/5mdKA0kIIYQQQgiRJhkaQ8teURwM5E+0nA8ITbScBSgNHFIUBSAvsFNRlFaqqp551c+UBpIQQgghhBDCZPGWrkCC00AxRVE+AUKAr4BOLwpVVX0E5H6xrCjKIWDE6xpHIM8gCSGEEEIIId5DqqrGAQOAfcAVYJOqqpcURZmiKEqrt92v9CAJIYQQQgghTPam6bfNSVVVD8DjpXUTXhFb15R9Sg+SEEIIIYQQQhhID5IQQgghhBDCZOacxc4SpAdJCCGEEEIIIQykB0kIIYQQQghhsjQ0i12qkB4kMypcpyzf+vxIv8NzqdbPOVl5hc4N+HrfLPp4zKCb+wRyF9N/EbBDucL08Zih/7d3BiWaVDJ31VNUv2EtTvh5cipgP4OG9k1WbmNjzfJVCzgVsJ99PpvJXyDJFxvjmM+eoNCz/G9gL+O6b//XA9+Tezh6YjfLVs4jXTqbVM/DFE51yvOTzy8sOrwEl37tkpW37NOK+d4/M8fzJyasn0JuR1sACpX6hOnbZjNv/yLmeP5E9ZY1zV31V2rYqDb+AQc4d+Egw4Z/m6zcxsaG1WsWce7CQQ4e3kYBw/GrV78mR4/t5OSpvRw9tpM6daoZt2nXrgUnTu7l9Jl9TJ02OtVzaNK4LpcuHuHqZV9GjfxfijmsX/crVy/78ofvLgoWzGcs+27UAK5e9uXSxSM0blTnjfvs368HVy/7Evc8hFy5chjXDx/2LWdOe3HmtBcBZw/w7MkdcuTInkoZJ6jfoBbHz3hy6qwXg4Z+nazcxsaa31bN59RZLzwPbDKef/kLOHIn/BwHj27n4NHt/Dh/snGb37cs56DvDo6e2M2P8yej0Vj+ElGjXlV2+m5k9/HN9BrQNVl5xapO/O7lin/wURq1rGdcX+KzYrjtXsbWw+tw93GjSesG5qz2OzNuxjxqt/gKly7Jz9H3ge9JP1p27kezjn1ZvtY9WXlo+D16DxlHmx4D6TFoDOH3Io1l8351xaX7AFy6D2DvgaPmrLbJqtf7nG2+G9hx/Hd6DuiSrLxC1XKs91rJ6eDDNGxZ17jePp8d6/atYKO3K+6H19K+m4sZa226KnUrs+6IKxt819D5f18lKy/3eRlWeC7h4G0v6raonaQsj0Me5q6fjduhlbgdXEnefHbmqrZJrCtUIfuvbmRfuo707TulGGNTsx7ZFq8m22JXMo8YD4DG1o5s85eR7aflZFvsSrqmbz1RmkjD0nwPkqIo2YFOqqr+Yum6/BeKRqHp1B6s7zyTmPCH9No5lUBvfyIDQ4wxF3f8gf+6AwAUa1iBhuM6s7H7D9y7FswK53Goungy58lOn70zuO7tj6qzXPtdo9Ewe+5E2rfuSWhIOPsPbcHT4wDXr900xnTu9gXR0Y+o4tSINu1aMHHySPr0HGIsnzZzDAf2HzEu57W34+tvulKjSnOePn3GctcFtGnXgo3rt5k1t5dpNBp6T/2GqZ0n8jD8ATN3zuGM9ymCA+8aY25dusV3LYfx/OlzGndpStfvezB/wI88e/KMRUMXEB4URo48OZm9Zy4BR87yT8xjC2akz2ne/Cm0atmVkJBwjhzdgcceb65evWGM6d6jA9HRjyhXph7t27dk6rTRdO82kAcPHvJF+z6Eh92jVKnibN+5muJFq5EzZ3amzfieWjVaERn5kKXL5lC3bnUOHfoj1XJY+NN0mjbvSHBwGCeOe7BrtxdXrgQaY3r17EhU1CM+LVWTDh1aMXPGWDp17kfJksXo0KE1ZZ3q4+Bgx769Gyn5WS2AV+7zj+On2ePhzYH9ST/kzZ23hLnzlgDQskUjBg/6mqio6FTJOXHus+ZO4AuXnoSGROB10B1PD58Uzr8YqpRvjEu75kyYPIKvew4FIOjWHerVSv6BrHePwfz9l/69ucptIa3aNGX7Fo9kceai0WgYM3M4fTsMJiLsHhs8V3LI6yh/Xg8yxoSFhDNu8FR69O+cZNunT54yduAU7twKxtYuNxu9VvHHwZP8FfO3mbP4b1yaN6JTu1aMmTrH0lX513Q6HdPmL+W3eVPIa5uLL/sOp17NKhQpVMAYM+eXlbRqUo/WzRpw0u8cC5atYda4YRw+fprLgTdxX/ETz2Nj6TFoDLWqViRzpowWzCgpjUbD6JnD6ddhCBFh91jnuZzDXr4vvT8jmDh4Ot36d0yy7f2IB/Rw/pbY57FkyJgB98NuHN7ny/2ISNIKjUbDsOmDGNpxFPfD7vObxy8c8zpOUOBtY0xEyD1mDP2Br779Itn24376jjUL13PmqB8ZMqYnPj4NzXum0ZDp2yHEjB9O/IP7ZJu3lNiTx9DdTchNY+9IhvadiRn1P9THf6Nk09/4io96wKOR/4O4WEifgew/r+L5qWOoDx9YKhuLkB4ky8sO9Ld0Jf4rB6ciPAyKIPrufeJjdVzedYLijSomiXn+9xPja+uM6Yyv454+NzaGtOmsUdPA35gKlcpy68/b3A66S2xsLNu27KFZi4ZJYpq1aMDGDfrGzc7tntSqWy1RWUNuB93lWqIP5ABWVlakz5AerVZLxowZCA+/l/rJvEFRp2KEB4Vz724EcbFxHNt1lEqNqiSJuXT8As+fPgfg+tlr5LTPBUDYrVDCg8IAiLr3kEeRj8iaM6t5E0hBpUrl+PPmbYIMx8/dfRctWjZKEtOiRSPWrd0CwLZte6lbtzoA589dJjxMf1wuX75OunTpsLGxodAnBbgReIvIyIcAHDx4jNYuTVMthyqVy3PzZhC3bt0hNjaWTZt20Mq5SZKYVs6NcXPbDMCWLXuoX6+mYX0TNm3awfPnzwkKusvNm0FUqVz+tfsMCLjE7dvBr63Tl1+2ZuPv21Mh26QqVCxL0J+3uR0UTGxsLNu37qFZi6Q9JM2a1+d3w82FXdv3UStRT9+rvGgcWVlZYW1tjaX/2JQuX4o7t4IJuRNKXGwcntu9qdck6V3q0LvhBF65SXx80sv17T/vcueW/njdj4jkYWQUOXKlfs/eu1bJqQzZsmaxdDXeyoUrgRRwtCe/Q16sra1p1qAWPr4nk8TcDLrL5xXLAVClQlkOGspvBt2lcrnSWFlpyZghPSWKFML3pL/Zc3id0uVLcjfR+3Pf9gPUbVIrSUyY8f2Z9FyKi40j9nksADbprFGUtPfEe8nynxISFELYnTDiYuM4sOMgNZtUTxITHhzBzSt/or6UX6FiBdFaaTlz1A+AJ/885dnTZ2ar+5tYFSuJLiyE+IgwiIvj2REfrD9POsIjfRNnnnpsQ32sv6miPjLc+IqL0zeOAMXaGtJAT7t4996HozoLKKIoSoCiKD8qijJSUZTTiqKcVxRlMoCiKIUURbmqKMpyRVEuKoqyTlGUhoqiHFMUJVBRlCqGuEmKorgpiuJjWJ98XEoqyZI3J3+FJdxdiAl7SJa8OZLFVezWiP5H5tHg+47sm7jauN7BqQh998+m775ZeI5dadHeIwB7eztCg8ONy6Gh4dg72CWLCQnWNw50Oh0xMX+RM2cOMmbMwKChX/PjrJ+TxIeHRbB40QoCLh3iUuAxYmL+4pDPsdRP5g1y5s3Fg7CEu3oPwx6QK2+uV8Y3+LIRZw/5JVtftFwxrGysiLgdnsJW5uXgkJfgkDDjckhIOA4OeV+KsTPG6HQ6HsX8lWRoGYCLSzPOn7vE8+fP+fNmEMVLFKFAAUe0Wi3Ozo1wzOeQejk45uVucKhxOTgkLHkOiWJ0Oh2PHsWQK1cOHBxS2NYxr0n7fJUMGdLTpHFdtm5L/R4Xewc7QkISnX8hEdjbJz3/8trbERKS/PwDKFAwHz5Ht7FjjxtVqyW9UbNp63Ku3PyDv/9+zM7t+1I5k9ezs7clIjThJklE2D3y2Nv+6/2ULl8Ka2tr7gaFvDlYvDP3Ih+QN4/xC+yxs83NvftJ77KXKPoJ+w/re5m9jxzn8T9PiH4UQ4kin3D0pB9Pnj4jKjqG02cvEH7vvlnr/yZ5Unh/2v6L96edQx5+91nNXr9tuC5el6Z6jwBs8+bmXmjC7/x+2H1y5839mi0S5C+cj79jHjPtt0ms2LeE/uP6pokhuy9ocuUmPjLh2MU/uI82V9LctI750DrkJ+vsn8n64y9YV0i4MarJbUu2hSvJsWozT9zXf3S9RwCqYr5/lpB23q2vNhq4qaqqE7AfKAZUAZyAioqivLidWBT4CSgLfAp0AmoCI4AxifZXFmgBVAMmKIqSep/g3kBN4e6s35r9/FJ7GD6zNlJzYMIQmNCAmyxr9B0rW42nev9WaNNZm7OqyaR0t+vlfFKMQeW7MYNYstiVx4//SVKWLXtWmjVvQMUy9SldvCYZM2bkiy/T5tjelI4dQK02dShcpig7lyYdFpg9Tw4Gzh/KLyMWvnJbc3rr45copmTJYkyZ9h2DBo4FIDo6hiGDx7Pa7We8vDdx+3YIuri4d1xz0+v36phXb2vKPl+lZcvG/HH8TKoPr4P/dvwiwu9R/rN61K/VhvFjZ7Fk+VwyZ8lkjOnQtg+li9ckXTobatWp+u4r/2/8h+PxQu48uZixaAIThkxLE+fexySl3/fL78sR/XtyJuAi7XsP5kzAJexsc6HVaqlRpTy1qlaiS/9RjJzyI+U++xStVmuuqpsmpV6ff/Eeiwi9x5f1u9O62pc4d2hGztzJb5paVEofTE3MT2ulpWyV0iyeupS+zftjX8CeZh2avHlDc3nFtSEJrRatQz5ixgzm7zlTyDRwJEqmzADER97n0aBeRPXtRPoGTVGyp7FjJ/6z96GBlFhjw7+zgD/6hlAxQ9ktVVUvqKoaD1wCDqj6v84XgEKJ9rFDVdUnqqpGAgfRN7aSUBSlr6IoZxRFOXP67xsvF7+Vv8IfksU+odchq31O/o549QepSzuPU7xx8skYHtwI5fmTZ+Qpni+FrcwnNDQch3wJd9YdHPIah10ljnHMZw+AVqsla9YsRD2MpkKlckycMhL/Cz580687Q0Z8S+++XahTtzq3bwfz4EEUcXFx7N7lReXPy5s1r5Q8DH9ALvuEO0s57XPxMOJhsrgyNcrRdsAXzO4znbjnCQ2DDJkz8P2q8WyYs5bAs9fNUuc3CQkJI5+jvXHZ0TEvYWERL8WEG2O0Wi3Zsmbh4UP9e9bBMS/rNy6lb5/h3Lp1x7jNXo8D1KvThgb12hEY+Cc3bgSlXg7BYeRP1EOVz9E+eQ6JYrRaLdmyZeXhwyhCQlLYNjTCpH2+ypcdWplleB1AaEg4jo6Jzj9Hu2TDUcNCw3F0fOn8i4rm+fNYYyPufMAlgm7doUjRT5Js++zZczw9fGjW3LITG0SE3sPOIY9x2c4+D/fDTb/LnilzRhavncui2cs4738pNaooXsPONneSSRci7kdimztnkpg8uXPx0/QxuK/4icFf6yc5yJJZ32D/plsHtqz8ieXzpqKiUjAVe6Tfxr3/+P584X5EJDev3aJC1XLvsnr/2f2wSPI4JPSI2drbEhlhWk/JvbD7BF68QdidMHS6eHz3HaN4mWJv3tBM4iPvo8mdcOw0uWyJfxiZLOb5SV/Q6YiPCCc+5C4ah6SfvdSHD4i7E4R1qbJmqXdaEm/Gf5bwvjWQFGCmqqpOhn9FVVVdYShLPLg1PtFyPEkno3j5HkGy2yGqqi5TVbWSqqqVKmcu+k4qHnruT3J+kpds+W3RWGsp5VyV6/uTDsPKUShhiEyx+k5EBemH0GTLb4ui1R+qrI65yVXYnuhgyw41OOt3gcKFC1GgYD6sra1p064Fnh4HksR4evjwVcc2ALRyacrRw8cBcG7aiQpl6lOhTH2W/rqaBXOWsGLZWoKDQ6lU2YkMGdIDULtONa5f+9O8iaXgxrlA7D+xJ0/+PFhZW1HDuRZn9p9KElPos0/oO7Mfs3tPJ+bBI+N6K2srRi77nsNbDnLCI3UmK3gbfn7nKVK0EAUNx699e2c89ngnifHw8KZzF/2MfW3aNOOw4fhly5aFLVtWMmnCD5w4kfQ9bGurvwmQPXtWvu7bhdWuv6daDqfPBFC06CcUKpQfa2trOnRoza7dXklidu32omtX/cPD7dq14OChY8b1HTq01j87VSg/RYt+wqnTZ03aZ0qyZs1C7VpV2bnTPEPSzvpf4JMiCeefS9sWeHr4JInx9PDhy07688/ZpQm+R04AkCtXDuNQl4KF8lG4SCFuB90lU6aM2NnpPwxptVoaNq5D4HXLnn+XAq5QsHB+HAvYY2VtRVOXhhzyMm02MytrKxasms2uzXvZv8vnzRuId670p8W4ExxKcGg4sbGx7D1wlHo1Pk8SExUdY3x+7Ld17rRprn+WVafTEf0oBoBrN29x/WYQ1Stb/oZZYpcCrlKgcD4cDO/PJi4NOOTla9K2eextSZdeP0trlmxZcKpchqAbd96wlXldDbhKvk8csc+fFytrKxq0roevl2nXsasB18iSPQvZc2YDoEKN8gRdv/2GrcwnLvAqWod8aOzygpUV6WrXJ/ZU0iH9z0/4YlVG/55TsmZD45Cf+PBQNLlswUZ/7JRMmbEuWRpdyN1kP0O839L8LHbAX8CLJ1T3AVMVRVmnqurfiqI4ArH/cn+tFUWZCWQC6qIfwpfqVF08+ya40nHNd2i0Gs5tOkxkYAi1h7Uj7PwtAr39qdS9MZ/ULE18rI4nMY/ZOUw/M1b+SiWo3t+Z+FgdqhqP57hVPImy7ExMOp2O0SOnsHnbCjRaLevd3Ll29Qajxw4iwP8innt9WLdmM78s+5FTAfuJjnpknEHrVfzPnGfXjn34HN1OXFwcF85fYc2qjWbK6NXidfGsmLCMsWsmodFqOLjpAMGBd/lyWCdunr/BGe9TdB3Tk/QZMzD8l1EARIZGMrvPdKq1rEHJKp+RJXsW6rWvD8DiEQsJunzLkimh0+kYPmwi23euQavV4LZmM1euBDJu/FD8/S/gsceb1a6/s3zFfM5dOEhU1CN6dBsIwDffdqdwkYJ89/1Avvtev661czfu33/ADz9OoEyZkgDMmrmQGzdSL0+dTsfgIePw2LMerUaD6+rfuXz5OpMmjuCM3zl2797PylUbWe26kKuXfYmKiqZTF/18L5cvX8fdfRcXzh0kTqdj0OCxxg9pKe0TYMD/ejFieH/y5rXlrJ83ez19+ObbkQC4tG7Gfu8j/PPPk5Qrmwq5fz9iCpu2Lkej1bJh7RauXb3Bd2MGEXD2Ivv2+rDOzV1//p31IirqEX176c+/ajUq892YQcTF6YiP1zFi6ESiox5ha5sLt42/YmNjg1arwffICVxXWvb80+l0zBgzl183LECr1bB9w25uXrtF/1FfczngCoe8fPnMqSQLVs4ia/Ys1GlUk34j+9C2TmeatGpAhapOZMuRlVZfNgdg/OBpXLsU+IafmraMnDiL02fPEx0dQwOXLvTv3ZV2zmloqNJrWFlpGTPkG74ZMQldfDxtmjek6CcF+HnFOj4rUZR6NT/ndMAFFixdg6IoVCz3GeOG6qczj4vT0W3A9wBkzpSBWeOGYWWVtobY6XQ6Zo+Zzy8b5qHRatmxYTd/XrtFv1F9uBxwlcNevpRy+pR5K2eSNXsWajeqwbcj+9C+Thc+KVaIYZMGvBjzy5pfN3DjquVvCCam08Uzf9wi5q6fjUajYc/vewm6fpveI3pw9dw1ju0/zqflSjB9xWSyZMtM9UbV6DW8O93q9yY+Pp7FU5ay4Pc5oMD1C4HsWr/H0ikliNfxeMkCsk6eAxoNz7w90N0JIkPnXsQFXiX21B/E+p/Cunxlsi1eDfHx/LPqV9S/YrByqkSWXv3R319XeLLtd3S309axE/+d8j6MyVYUZT36Z4f2AsFAH0PR30AXQAfsVlW1tCHe1bDsrihKoRdliqJMAhyAIkAB4AdVVX973c+eXrBz2v8F/Qfzo05bugqppl6OkpauQqrae/+8pauQqp7GPbd0FVJVjgyZLV2FVGWfIeebg95TfhfXWboKqU/3b+89vj+qlOv15qD3WGZtektXIVVtr5B6z7amBbl2HU57Uxqm4Of8Xcz2+XjA3bVm/528Dz1IqKr68jd4/ZRCWOlE8T0SvQ5KXAZcV1U1+beaCiGEEEIIIT5670UDSQghhBBCCJE2fNDDq/jIGkiqqk6ydB2EEEIIIYQQaddH1UASQgghhBBC/Dfx78WTUm/vfZvmWwghhBBCCCFSjfQgCSGEEEIIIUxmqS9wNRfpQRJCCCGEEEIIA+lBEkIIIYQQQphMepCEEEIIIYQQ4iMhPUhCCCGEEEIIk33o34MkPUhCCCGEEEIIYSA9SEIIIYQQQgiTyfcgCSGEEEIIIcRHQnqQhBBCCCGEECaTWeyEEEIIIYQQ4iMhDSQhhBBCCCGEMJAhdkIIIYQQQgiTyTTfQgghhBBCCPGRkB6kN9DyYc9jGK9+uPcArD7wY6dRPuz8PuzsPnyKHMH3m9ba0jVINacuulG9bA9LVyPVZNB8uMcOQNHEWboKAoj/wPuQpIEkhBBC/Bu6WEvXIHV9wI0jIYQwhTSQhBBCCCGEECaTab6FEEIIIYQQ4iMhPUhCCCGEEEIIk33YTyBJD5IQQgghhBBCGEkPkhBCCCGEEMJk8gySEEIIIYQQQnwkpAdJCCGEEEIIYbL4D/yr7qQHSQghhBBCCCEMpAdJCCGEEEIIYbL4D3weO+lBEkIIIYQQQggD6UESQgghhBBCmOzD7j+SHiQhhBBCCCGEMJIGkhBCCCGEEEIYyBA7IYQQQgghhMnki2KFEEIIIYQQ4iMhPUhCCCGEEEIIk8k03+Kd+aROWb72+ZFvDs+laj/nZOVOnevTa99MenpMp7P7eHIVc0hSntUhF8MuL6dK3+bmqvJrNWhYi5P++zgT4M3gYX2TldvY2LDCdQFnArzZ7+NO/gKOScod89lzJyyAAYN6G9dlzZYFV7dFnPDz5MQZTypXcUr1PExRrk555vosZv7hX2nVr22y8uZ9WvGj9yJmey5g7Pop5Ha0BSC3oy3Td89lpsd8fty/kIadm5i76q/UsFFt/M56E3Deh6HDv01WbmNjw6rVCwk474PPoa0UMBy/ihXL4nt8N77Hd3PsxB5aOjcGIF06Gw4e3saxE3s4edqTMWOHmDUfgMaN63Lx4hGuXPZl5Mj/JSu3sbFh3bpfuXLZl2O+uyhYMJ+xbNSoAVy57MvFi0do1KgOAMWLF+HMaS/jvweRVxk0sA8A48cPI+jWGWNZ06b1zZMkUL9BLY6f8eTUWS8GDf06WbmNjTW/rZrPqbNeeB7YZDz38hdw5E74OQ4e3c7Bo9v5cf5kADJkSM/6TUv54/Rejp7YzfhJw82Wy5tUr/c5O3w3sOv4JnoN6JqsvEJVJzZ6rcIv+AgNW9Yzri/xWTHW7F7G1sNr2eyzhiatG5iz2ibzPelHy879aNaxL8vXuicrDw2/R+8h42jTYyA9Bo0h/F6ksWzer664dB+AS/cB7D1w1JzVfifGzZhH7RZf4dIl+d+f90W1ulVwP7qWrcfW031A52Tl5T8vh9u+5Ry/40P9FnWSlWfKnJE9flsYOd38fy9NUaluRVYcWs6qoyv5sn+HZOVlPi/NYo+f2XtrD7Wa10xS1mdMb5Z5L2W5zzL6T+5nriqbzLp8FbL94ka2JetI365TijE2NeqR7efVZF3kSqZh4wHQ2NqRde4yss5fTtZFrqRr2sqc1RZmkuZ7kBRFGaOq6gxL1+O/UjQKjad2Z2PnWfwV/pAeO6cQ6O3Hg8BQY8zlHccJWOcDQNGGFWgwrgubuv9gLG8woTN/Hjpn9rqnRKPR8MPcSbRt3YPQkHAOHN6C5x4frl27YYzp0q090dExVHJqSNt2LZg0ZSS9eyRcBGbMGsuB/UeS7HfmD+M44H2EHl0HYm1tTYaM6c2W06soGg09p37DjM4TeRD+gOk7f8TP+xQhgcHGmKBLfzK25XCeP31Owy5N6fR9dxYOmEPUvSgmtv2OuOdxpMuYnh+9FuK3/xRR96IsmJH++M2dN5nWzt0ICQnn0NHteOzx5trVhOPXrXsHoqNjcCpbn3btWzJ56nf07D6Iy5evU6dma3Q6HXZ5bfnjxB72ehzg2bPntGzemceP/8HKygov703s9zrE6dMBZstp4U/Tada8I8HBYZw47sHu3V5cuRJojOnVsyPRUY8oWaomHTq0YsaMsXTu3I+SJYvxZYfWlHOqiFBAyQAAIABJREFUj4ODHZ57N1Lqs1pcv36TSpUbG/d/O8iP7Tv2Gvf308LfmD9/qVnyS5znrLkT+MKlJ6EhEXgddMfTw4fr124aYzp3+4Lo6BiqlG+MS7vmTJg8gq97DgUg6NYd6tVySbbfxYtWcuzoSaytrdm605UGDWtzwPtIsjhz0mg0jJk5gm86DCYi7B7rPVdwyOsof14PMsaEh4QzfvA0uvdP+gHn6ZOnjBs4hTu3grG1y80Gr5X8cfAkf8X8beYsXk2n0zFt/lJ+mzeFvLa5+LLvcOrVrEKRQgWMMXN+WUmrJvVo3awBJ/3OsWDZGmaNG8bh46e5HHgT9xU/8Tw2lh6DxlCrakUyZ8powYz+HZfmjejUrhVjps6xdFXeikajYdSMoQz4ahgRYfdZ7bGMI/t8uRV42xgTHhLB5CEz6PLtVynu49tRffA/YZ6/kf+WRqNhwLT/MbrTGCLDIlm0eyHH95/gTuAdY8y9kPvMGTaX9t+0S7JtqYol+axSKb5trG8Yzds6l7JVy3L+xHmz5vBKGg0ZvxnCXxOHE//gPlnnLOX5qWPE3004dhp7R9K370zMd/9Dffw3SrbsAMRHPSDmu/9BXCykz0C2hat4fuoY6sMHlsrGIj7s/qP3owdpjKUr8C7YOxUhKiiCR3fvEx+r4/KuExRrVDFJzPO/nxhfW2dMh5ro7VescUWi79wn8nqI2er8OhUrlf0/e/cdX9P9BnD88703ib0SIwtBqJpRe29qxGiNDrOUUj9F0Sq1Z6tWbWrvqh1F7FFbjBoRJGTv0NZKbs7vjxuRKwmhcm/U8369vNx7znPOfZ58z733nPM953vxvXWb237+xMbGsuk3D5q1ND1D27xFI9at2QTA1i27qFOv+tN5LRvh5+fPtSQ7rzlyZKdGjcqsXP4rALGxsdy7+5cZqnk+V7fihPgFE+YfiiE2juPbj1KpcVWTmCvH/+Txw8cA3PDyxtbBDgBDbBxxj+MAsLaxRumUeZNPRaVK5bl16zZ+Ce3328YdtGjZ2CSmRctGrF39GwBbNv9OvXo1AHjw4CEGgwGAzJkyoSX5lPznn/sAWFtbYWVthaaZ7yO0SuUK3Lzph6/vHWJjY1m/YSvu7qY9du7uTVi50rh9/fabBw3q10qY3pT1G7by+PFj/Pz8uXnTjyqVK5gs26BBLW7dus2dO5Z9D75XsRx+t25z2y+A2NhYtmzyoFkL0/des+YNWL9mMwDbt+ymdt3qKa0q0YMHDzl25CRgfN9dvHAFB6cC6VPASyhToRT+vgEE3gkiLjaOXVv2Uq9pbZOYIP8QfK7eJD7e9Jbh27f8ueNrPIkRHhpBVEQ0eexymy33tLh01YdCTg4UdLTH2tqaZg1rs//oSZOYm37+VK1YHoAq75XjQML8m37+VC5fBisrPVmzZOadYi4cPXnO7DX8G5XcypIrZw5Lp/HKSld4F3+/QALvBBMXG4fn1n3UbWraixIcEMKNq7fQ4pN/FpYsWwLbfHk4eei0uVJ+Ke+4vUOQXzAhd0KIi43j0LZD1Ghi+lkSGhCK7zXfZJ/1mgY2mWywsrHC2sYaK2s90RGWPTGYlFXxd4kPCSQ+NBji4nh8ZD82VUzbLlMTdx7t3Iz2j/GkinY3xjgjLs54cAQoa2vQvQm70uJlZahWVUptUUqdVUpdVkr1UkpNBrIopc4rpVYnxHRSSp1KmLZAKaVPmP63UmpKwvJ7lVJVlFIHlVK3lFKtEmK6KaW2KqV2KaW8lVKjzFVbDvs8/BUclfj8r+AoctjnSRb3XpdG9D78E/WHfcTeUSsAsM6SiWp9WnJ0xiZzpftCDg72BAYGJz4PCgzBwcF0h8rBsQCBASGA8Uzpvbt/Y2uXh6xZs/DVwF78MOlnk/jCLgWJiIhi9vwpHDy6lZmzJ5A1a5b0L+YF8tjbEhn89LKWyOBI8tjbphpfr2MjLhx8uqNi65CXKbtmMPvEYrbN32Tx3iMAB0d7AgKStl8wjim035MYg8HAvXt/YWtn3GYrVSrPydO7OH7qdwb0H5F4wKTT6Th6fAc3/U5zYP8xzpwxX4+no5M9AQFPe2QDA4NxcrRPFuOfEGMwGLh79x52dnlwcky+rKOT6bIdO7Rm/fotJtP69unOubOeLFr4E7lz53rdJaXIwbEAgYEhic+DAkOTvffsHQokvj8T287W2HaFCjuz/8hmtnqspFp105M0YLzMtUmz+hw5dDwdq0ib/A75CAkKTXweFhxOAYd8L72eMhXexdraGn+/jHGC6YmwiEjs8+dNfF4gX17Cwk3PQr/jWgTPQ38AsPfwcf65/4CYu/d4p1gRjpw8y4OHj4iOucdpr0uEhIWbNf+3XT77vIQGhSU+Dw0OJ18at0+lFANGfcmscfPSK71/La+9HeFBT7ep8OAI7Ozt0rTs1XNXOX/8AuvOrGHd2TWcOXQW/xv+6ZXqS1N2eTFEPG27+MhwdHZ5TWL0js7oHAuSY/Jscv4wF+sKVRLn6fLmI+fMJeT+5Vceblrz1vUegXEUO3P9s4QMdYAEfKZpWkWgEtAf+BF4oGmam6Zpnyql3gU6AjU1TXMDDMCTi36zAQcTlv8LGA80BtoCY5O8RpWEZdyA9kqpSmaoC0ih5yCFk+vnVuxlQZ2vOTh5HTX+Z7wMptagDzi9eBex9x+lc45pp1Iq55kzSCqFIE3T+HZ4f+bNXprY2/CElZWe8m6lWbp4DfVqteb+Pw8YMKj3a837Vag0th1ArbZ1KVrWle0LNidOiwqO4Jv3BzCwzhfU+bA+ufKaZ0f6edLUfinWbYw5c+YCVSu/T706bfh6cB8yZbIBID4+nlrVW/JuiRpUrFiOd0uVeO25pya17e3FMS9e1trampYtm7Dxtx2J0xYsWME7JWtQsVITgkPC+PGHkf8m/TR79To1QkPCqFC6Pg1qt+X74ZOZv/gnsufIlhij1+tZ+Ms0Fs9fyW2/gGTrMLe0bKcvkje/HRN+HsnIARPM2qOZFinl82zbDe7bnTPn/6Rdj684c/4yBfLZodfrqVmlArWrVaJT36EMGfsj5UuXRK/Xmyt1Qdrei6lp160tx/afMDnAynD+RX2OLg4Uci3EJ1U68XHlT3Gr4UbZqmVed4b/Qhq+1/V69I7O/DX8K/6eOpZs/YagsmUHID4inHtffUbMF5+Qqf77qFzJT3iLN1tGuwepv1KqbcLjgkDxZ+Y3BCoCpxM+mLIATz5dHgO7Eh5fAh5pmharlLoEuCRZh6emaZEASqlNQC3gTNIXUUr1AnoBtLWtQpXsz6bx8v4KiSKHw9NehxwOtvwVmnpPwpVtJ2gyvjsAjm6ulGxWhfrDPiJTzqxomkbco1jOLff813m9qqCgEJycHBKfOzrZExJi+kEfFBiCk7M9QUEh6PV6cubKTnRUDBUrladV6/cZPW4ouXLlJD4+nocPH7Ftyy6CAkM4m9DrsHXrrgxxgBQVEomdw9MzS3YOdkSHRiWLK1OzHG36tWNshxGJl9UlFR0WTcB1f96pUopTOy17dj4oMARn56Tt50Dws+0XZIxJbL+cOYiKijGJue59k3/+uU+pUu/g5XUpcfrdu39x9MhJGjWuw9Ur19O3mASBAcE4Oz8d2MTJyYGg4NBkMQWdHQkMDEav15MrV06ioqIJCEy+bHCSnov336+Pl9clwpLcIJ/08S+/rGbLluXpUVYyQYEhOCXp3XJ0KpDsvRec8P4MDgpNbLvoaGPbPX5s/P/i+cv4+d6hmGsRLnj9CcC0meO4ddOPBfPMU8uLhAaFY+/4tHcsv0M+wkIinrOEqWzZszJ71VRmT1nIpXOX0yPFf6VAvrwmgy6EhkeQL69p73T+vHbMnGC80vz+/QfsPfwHObIbD2p7d+lA7y7GG+eHjp1KYWfTgX1E+goLDqeAY/7E5wUc8hGRxu2zXMXSuFUtR7uubciaLQtW1tY8+OcBsyea957G54kIjiCf49MesXwOeYlK4bsvJTWb1uSa1zUe3n8IwOkDpylZoSSXTv6ZLrm+LC0yHH3ep22ns8tHfJRp28VHhhPnfQUMBuLDQjAE+qNzcMZw49rT9URFYvD3w6p0OWL/OGS2/DMCGcXOTJRS9YBGQHVN08oDXsCzd+grYHlCj5KbpmnvaJo2OmFerPb01EY88AhA07R4TA8En23RZC2sadpCTdMqaZpW6XUcHAEEX7iFbRF7chXMh85aTyn3atzwNL1ePI/L0x0B1wZuRPsZL6NZ3X4c82oNZF6tgZxZspvjc7ZZ9OAI4NzZSxQt5kKhws5YW1vzwYct2OWxzyTm9537+OgT44hvrdu8z5FDJwBo0fQT3MrUx61MfebPXcb0n+azeOEqwsIiCAwMxrV4EQDq1q1uMmiApdy84IN9EQfyFcyP3tqK6u61OOt5yiTGpXQRek7qy9QeE7kXeTdxuq29HdYJvSvZcmbjnUolCb4ZhKWdPXuRosVcKJzQfh+2a8lOj70mMTs99vHxp8Ybb9u0bcahhEuuChd2TjxTXbCgI8VLFOX2nQDs8tqSK5fxfoLMmTNRr35NfLxvma2m02fO4+paBBeXglhbW9OxQ2t27NhjErNjxx46d24PwIcftuDAwWOJ0zt2aI2NjQ0uLgVxdS3CqdNeict17Ngm2eV19vZPv1zbtG7G5cve6VWaCa9zlyiS5L3X5oMW7Nq53yRm1879dPzEeK7JvU1Tjh42vvfs7PKgS7hevrCLM0WLuXDbz3jZy7ARA8iZKzvDv804Y+JcPn+VQkWdcSrkgJW1Fe+3acShPUfTtKyVtRXTl05m+6+/47n9QDpn+mrKlCzOnYAgAoJCiI2N5fd9R6hf0/T+xuiYe4n3Vy1avZG2zRsBxksnY+7eA8D7pi/Xb/pR45n75kT6unL+GoWKOONY0Lh9Nm7dkMN7jqVp2e/7jcO9cntaV+3IzLFz2blxd4Y6OALwvuCNk4sj9gULYGVtRd1WdTnueSJNy4YFhVG2all0eh16Kz3lqpXNUJfYxflcQ+fgjC6/PVhZYVO7AbGnTNsu9sRRrMsa31MqRy50TgWJDw1C2eUDG+P3usqWHauSZYgPzDi1idcjI/Ug5QKiNU27r5QqCVRLmB6rlLLWNC0W2AdsVUpN1zQtTCllC+TQNO12aitNQeOE5R4AbYDPXmcRqdEM8ewZuZyOK4ai9DoubjhEhE8gtQd9SPBFX27sPUfFrk0oXKs08bEGHt77B49BGevDMimDwcDQwWPYuGUJep2e1Ss3cu3aDYYN/wovr0vs2rmfVSt+Zf6iqZw5v5fo6Bh6Joyi9TzfDB7HgsU/YWNjjZ+fP/36fGuGap4v3hDPspGLGLZiFDq9noMb9hLg40+7QR/je/EGZ/ee5pPvupE5a2a+mjsUgMigcKb2nIiTqzOdRnRH0zSUUuxYuBV/75fZXNOHwWBgyNej2bx1OXq9jpUrfuXaVR+GjxjAuXOX+H3nPlYsX8/CxdM4f3E/0dF36d61PwDVa1Ri4KAviI2LIz4+nkEDRhIVGU3pMiWZv/BH9Ho9Op1i82872bVr/wsyeb01fTVgBB4ea9DrdCxbvp4rV64zatRgzp69wI4dnixZuo5ly2Zx9cpRoqNj+LRTXwCuXLnOrxu3c/HCAeIMBvp/NTxxpzRLlsw0aliHvn2/MXm9yZNGUL58KTRNw+92QLL56VnnsMFj2bBpMTq9nrWrfsP72g2++a4/573+ZPfv+1m9ciNzF/7IKa89REffpddnxvde9ZqV+ea7/sTFGYiPNzB44Chiou/i4FiAQUP6cN37JvsPGy8P/WXRKlatSD7stDkZDAYmfTeNeWuno9Pr2bJ2Bze9fek7tCeXz1/j0J6jlHZ7l+lLJpEzdw7qNq5F3yE9+KBuJ5q2ash71dzIlScnrToafxph5FcT8L7s84JXNR8rKz3fDehN78GjMcTH07Z5I1yLFGL2L6sp/Y4r9WtV5fT5S8xYsAKlFBXLl2bEQOOQ2HFxBrr0GwZA9mxZmDxiEFZWb9YldkNGTea010ViYu7RsE0n+vbozIfuGeenEF7EYDDww/AZzFozFb1ex7Z1O7l13Y/eQz7j6gVvDu85RqnyJfnhl/HkzJ2DWo1r0HvwZ3Ss39XSqadJvCGe2d/PZeKqCej0Onav38Pt67fp8nVnrl/04YTnCUqUL8GoRd+TI1cOqjWqSudBnenVqDdHPI7iVsONhZ7z0TSNM4fOcmLvyRe/qLnEG7i/cAY5Rk8FnY5H+3Zi8PcjyyefEXfjGrGn/iDW6xTWFSqTa/ZyNEM8D5bNQ/vrHlblK5H1s75Prs/m4Zb1GG6b72RgRvHf7j8ClVGuyVZKZQK2AE6AN5APGA00A1oB5xLuQ+oIDMPY+xULfKlp2gml1N+apmVPWNdo4G9N06YmPP9b07TsSqluQHOM9yu5Ams0TRvzvLwmF+6UMf5A6eSHqAz0gfWaNbUtbekU0pVHRAYZLjWdPIjNOPfcpYfcWbJbOoV05ZglbTdzv4nOXFhq6RTSl97a0hmkuxrlulk6hXSTR//mDPX+Kta99+DFQW8w262HMsZwty8w0OUjs+0fT/dbZ/a/SYbpQdI07RHGg6FnHQS+SRK3HlifwvLZkzwendo8IEzTtH7/Ml0hhBBCCCHeSpYaXc5cMsw9SEIIIYQQQghhaRmmB8kcNE1bBiyzcBpCCCGEEEK8sbT/+F1I0oMkhBBCCCGEEAnkAEkIIYQQQgghErxVl9gJIYQQQggh/h0ZpEEIIYQQQggh3hLSgySEEEIIIYRIs3gZpEEIIYQQQggh3g7SgySEEEIIIYRIs/92/5H0IAkhhBBCCCFEIulBEkIIIYQQQqSZ3IMkhBBCCCGEEG8J6UESQgghhBBCpJn8DpIQQgghhBBCvCWkB0kIIYQQQgiRZprcgySEEEIIIYQQbwfpQRJCCCGEEEKk2X/9HiQ5QHqB41qMpVNIVw5ZbS2dQrqJ+493/z42xFk6hXSVO0t2S6eQru7HPrJ0CulqV9lMlk4h3VQp/5mlU0hXp/5caekU0t0fF5dZOoV01avSEEunkG6q/RFh6RTS1XVLJyAAOUASQgghRBI1ynWzdArp6r9+cCSEOcg9SEIIIYQQQgjxlpADJCGEEEIIIYRIIJfYCSGEEEIIIdLsvz5Ig/QgCSGEEEIIIUQC6UESQgghhBBCpFm8JoM0CCGEEEIIIcRbQXqQhBBCCCGEEGn23+4/kh4kIYQQQgghhEgkPUhCCCGEEEKINIv/j/chSQ+SEEIIIYQQQiSQHiQhhBBCCCFEmmnSgySEEEIIIYQQbwfpQRJCCCGEEEKkWbylE0hn0oMkhBBCCCGEEAmkB0kIIYQQQgiRZjKKnRBCCCGEEEK8JaQHSQghhBBCCJFmMoqdeG0q1H2PuQfmM//wQj7s2y7Z/FY92zB731xm7v6ZsWsnkM8pX+K8USvGsPrSOkYsHWnOlNOsVv1q7Di2gd9PbKTn/7okm1+xmhu/ei7nQuAxmrRsYDJvwdoZHL++lzmrfjJXui/NrW4FZu6fy8+H5tOmz4fJ5rfs2Yrpe2czdddMRq4ZS96EtnMpVYQJm6cwzfNnpu6aSY2WtcydeqoaN67LxYsHuHz5MIMH900238bGhpUr53D58mEOH95K4cLOANja5mb37nVERFxl+vSxJstYW1szZ85kLl06yIUL+2nTpplZaklJg4a1OX5mF6e89tB/4OfJ5tvYWLNo6XROee1h174NFCzkBEDBQk7cCbnAgSNbOHBkCz9OHwNAliyZWbNhAX+c/p0jJ3bw/eivzVrPsxo3rovX+X1cvHSQr7/uk2y+jY0Ny1fM5uKlgxw8tIVChYzt16BBLY4e286pU7s4emw7detWT7bshl8Xcfr07nSvIS0yVa1MvjXLybduFdk6fZxsfpZmTcm/fTN5ly4i79JFZGnZPHFejj69yLtiCXlXLCFzg/rmTDvNatSvyuaja9l6fD3d+3VKNv+9auVZs2cJpwMO0ahlvcTpDs4FWL37F9btXcbGQ6to16WNGbNOu+r1qrDxyCo2HVtD136fJptfoWp5Vu5ezPE7+2nQom6y+dmyZ8Xj7G8MmTDAHOm+ViMmTqNOi49o0+kLS6fyysrUdWPivllMPjib5n3aJpvfpIc74z1nMPb3aQxZPQq7JPstv9zcwJidUxmzcyr9F31rzrRfSe0G1dl1/Dc8T22mV/+uyeZXql6BzftWcSX4BE3dG1ogQ2FOb1wPklLKBdihaVoZC6fyUnQ6Hb3H92HUpyOIDI5k6vbpnPI8ib+Pf2KM7+WbDGoxkMcPH/F+p2Z0+647P375AwCbF2wiU5ZMNP30fUuVkCqdTsfwyUP4vMP/CA0KY/3uZRzYfYSb130TY4IDQxn+1Ti69Un+Bblk7iqyZMlM+y7JP3wzAp1OR49xvRn36SiiQiKZtG0qZ/aeIsCk7Xz5puUgHj98TJNO79N5WDem9/uRRw8e8fPAGYT4BZMnvy1TPH7i/GEv7t/7x4IVGWuaOXM8LVp8SkBAMMeObWfHDk+uXfNJjOnWrSMxMXcpXboO7du7M378MDp3/pKHDx8xZsxPlCr1DqVLlzBZ77ff/o/w8AjKlq2HUgpb29zmLg0w1jf5p5G0b9OdoMBQ9hzYyK6d+7nufTMx5tMu7YmJuUeVCk1o82FzRo4ZzOfdBwLg53uH+rWT73DO+XkJx46cxNramk3bltGwUR327T1strqe0Ol0TJs+FveWnQgMDOHIkW14eHhy7dqNxJiu3ToQE3OXcmXr0a6dO+PGf0vXLv2IjIymXbsehASHUapUCbZuW0Fx12qJy7Vq3ZR//r5v9ppSpNORc9BXRA0cgiEsnLyL5/Po6B/E+d02CXu4/wD3ps8ymZapejWsSxQnontPlLUNtrNn8OjESbT7GaQ2jO347aSv6dNhAKHBYazetZhDe45y67pfYkxwYCijvppAl76mB4fhoZF0c/+C2MexZMmahY2HVnJo91HCQyPMXEXqdDodQycOpN9HgwgNDmf5zoUc3n0UX5+n7RcSGMqYARPp9MVHKa7ji6E9OXfivLlSfq3aNG/MJx+24rtxUy2dyitROh2dx37O1E5jiQqJZOS2KZz3PE3QjYDEmDtXfBnrPpTHDx9Tv1NTOgzrzLx+0wB4/PAxo5oPtlT6L0Wn0zFq8jd0b/8lIUGh/LZnBft2HTbdjwkI4dv/jaZH384WzFSYi/QgmUlxtxKE+AUTeieUuNg4jmw/TJUm1UxiLh2/xOOHjwDw9vLGziFv4ryLxy7w4O8HZs05rcq+Vwp/3wACbgcRGxvHzi2e1H+/jklMkH8w16/cQItPPjDkySNnMs4OWQpc3YoT4hdCmL+x7Y5tP0KlxlVMYi4fv8Tjh48BuO7lja2DHQDBvkGE+AUDEB0Wxd2Iu+S0zWneAlJQubIbN2/64et7h9jYWH79dTvu7k1MYtzdm7Bq1UYANm3aSf36NQG4f/8Bf/xxmkePHiZbb9euHfjhhzkAaJpGZGR0OleSsvcqlsPv1m1u+wUQGxvLlk0eNGthesavWfMGrF+zGYDtW3ZTO4WelKQePHjIsSMnAYiNjeXihSs4OBVInwJeoFIlN27dvI2fnz+xsbFs3Lidli1N269liyasXvUbAJs376RevRoAXLhwmZDgMACuXLlOpkyZsLGxASBbtqz87389mTLlZzNWkzrrd0tiCAjCEBQMcXE82LufTLVqpmlZK5fCPD5/AQzxaA8fEnfjJpmqVXnxgmZUpsK7+PsGEHgniLjYOHZv2Ue9prVNYoL9Q/C5epP4eNPLWeJi44h9HAuATSZrlFJmyzutSld4F3+/QALvBBMXG4fn1n3UbWraix4cEMKNq7fQ4pNfrlOybAls8+Xh5KHT5kr5tarkVpZcOXNYOo1XVtTNlbDbIYT7h2KIjePU9qNUaFLZJOba8T8Tv/tuel0nj72dJVL918q9V5rbfv743w4kNjYOjy17aNTMtEcz0D8Y7ys3iNf+6wNcp028Gf9Zwpt6gKRXSi1SSl1WSu1RSmVRSh1USlUCUErlVUr5JTzuppTaopTarpTyVUr1U0oNUkp5KaVOKKVszZGwnb0dEUHhic8jgyOwK5D6B0njjk04e+CsOVL71wrY5yc4KDTxeWhQGAXs8z1niTeLrb0dkcFPz8pGBUdi95wvgYYdG+N1MHnbuZYvjpWNFaG3Q9Ilz5fh6GhPQEBQ4vPAwGAcHQukGmMwGLh37y/s7PKkus5cuYwHfqNGDeb4cQ9Wr55H/vx5U41PTw6OBQgMfPp3DgoMxcHBtD57hwIEBhoPXp/UZ2trrK9QYWf2H9nMVo+VVKteMdn6c+bKQZNm9Tly6Hg6VpE6R8cCBASatp9DsvZ7GpNa+7Vp04yLFy7z+LFxB2fkyK+ZNWsx9+8nP/i1BH2+vBjCwhKfx4eHo8+XfJvKXLcOeZctJve40ejyGz97Ym/cJFPVqpApEypXTmzec0OfP2N9LuV3yEdo0NP6QoPDyOeQ9hwLOOZn/f7l/H52M8vmrM5QvUcA+ezzPlNfeJrrU0oxYNSXzBo3L73SEy+Qp4AtUUFJv/uiyPOc/ZY6HRpy6eC5xOfWmWwYuW0KIzZPokKTjHVy4lkFHPITEvh0PyYkKIwCDvktmJGwtDf1AKk4MEfTtNJADJD8phBTZYBPgCrABOC+pmkVgONA8htm0kMKJ/c0LeUb3Oq2rYdrOVc2L/gtnZN6TVKq7T9+815qbVe7bV2KlnVl24LNJtNz58/D/6YPZO7gWakua04pnW1+Nq+0xCRlZaXH2dmR48fPUL16C06ePMvkySP+fbKv4N/UFxoSRoXS9WlQuy3fD5/M/MU/kT1HtsQYvV7Pwl+msXj+Sm77BSRbhzmkqW1eEPPuu8UZN/5b/ve/7wAoV64URYsVZvvI+aqAAAAgAElEQVS2jHHvEZBiDTxT58Njxwlr/zER3Xry+MxZcg833uvw+PQZHp04Qd75s8kz+nti/7yCZshgZ37TUN/zhAaF0bFBV1pX74h7h2bY5k39BIYlvOxnSFLturXl2P4TJgdYwsxeov2qt6mDS7li/L5wa+K0wTV6M7bVNyzoP4NPRnYnXyHL9LinRcpvRct/V2dkmqaZ7Z8lvKkHSL6apj25KPks4PKC+AOapv2laVo4cBfYnjD9UkrLKqV6KaXOKKXO+P1957UkHBkcSV7Hp2fO7BzyEhUWlSyufK3ytO/XkQk9xhH3OO61vHZ6Cw0OMzl7XcAxP2EhGetM5r8RFRJpcrmjrYMdUaHJ265szfJ80K89U3pOMGm7LNmzMGzp96ydugofr+tmyflFAgODcXZ2THzu5ORAcHBYqjF6vZ6cOXMQFRWT6jojI6P555/7bN26C4BNmzxwc7PMrYJBgSE4OdknPnd0KkBIiGl9wUEhODk5AE/ri46O4fHjWKKjjXVePH8ZP987FHMtkrjctJnjuHXTjwXzlpuhkpQFBobg7GTafiHPtF9Qkphn28/RyZ616xbwec9B+PoaP+OqVH2PChXKcuXqUfbu+xXX4kX4fdc6M1WUMkNYOPr8T8/i6vLlwxARaRKj3bsHscZLze5v98D6naf3xf29YjUR3T8nauAQUAqDv2UOaFMTFhRGAcen9RVwyE/4K3x2hodGcNPbl/eqlX+d6f1rYcHhz9SXj4g01leuYmk6dP+ArSfX89XIvjRv15R+3/VOr1RFCqJDIrF1TPrdZ0tMCvstpWqWo2W/D5nZc5LJd19MmPES63D/UK6duEzh0kWSLZtRhASFYZ/kkml7x/yEhYQ/ZwmRkSil3ldKeSulbiilko0IknDl2BWl1EWl1D6lVOEXrfNNPUB6lOSxAeNgE3E8rSfzc+LjkzyPJ4WBKjRNW6hpWiVN0yq5ZC/0WhL2uXAdhyKO5C9YACtrK2q71+GU50mTmCKli9JnUj8m9BjH3ci7r+V1zeFPr6sUKloQp0IOWFtb0bxNYw7sNv+N6+nlxgUfHIo4kL9gfqysrajpXpsznqdMYlxKF6HXpD5M6TGBe0nazsraiiELh3HotwOc2PmHuVNP1ZkzF3B1LYKLS0Gsra1p396dHTs8TWJ27PCkUyfjaIsffNCcgwdfnL+Hx97EUdHq16/J1as+L1gifXidu0SRYi4UKuyMtbU1bT5owa6d+01idu3cT8dPjAODuLdpytHDJwCws8uDTmf8KCns4kzRYi7c9jMOyDFsxABy5srO8G8nmrGa5M6evUAxVxcKJ9TXrp07Hh6m7eex05NPOxk719u2bc6hQ8b2y5UrJ5t+W8qokT9w4sTTS0EXL1qFa7GqlHq3Fo0atueGjy/N3k/5xnlzib12DX1BJ/QO9mBlRZZGDXh0zHQ71Nk9vUo6U60axN1OOKml06FyGi/7tCpWFKtiRXl0OmPdy3L5/DUKFXXGsZADVtZWNG3TkIN7jqZp2fwO+ciU2XjvWI5cOXCrXBa/G6/nhN7rcuX8NQoVccaxoLG+xq0bcnjPsTQt+32/cbhXbk/rqh2ZOXYuOzfuZvbEBemcsUjK98IN8rs4kNc5P3prK6q418LL84xJTKHSReg6sTezek7mr8h7idOz5syGlY1x9yp7nhwUr1iSIJ+MdYIiqUteV3ApUhDnQo5YW1vRok0T9u367+zHpId4NLP9ex6llB6YAzQDSgEfK6VKPRPmBVTSNK0csBH44UX1vXGj2D2HH1AROAUkH0PbwuIN8Sz8fj6jV45Fp9exb70n/tfv8MmgT7lxyYdTnqfoPvwzsmTNzNB5xoPfiKBwJvQYB8DEjVNwLuZM5myZ+eXkMmYPmYXX4XPPe0mzMRgMTBg2lYXrZqHT69i8djs3vX3pN7QXly9c5cDuI5Rxe5eZS38gZ+4c1GtSmy+HfE7rusZRmVZsXUAR18JkzZaFfV7bGTlwPMcOnnzBq5pPvCGeX0YuZPiK0ej0Og5s2EeAjz8dB33CzYs3OLP3FJ2/607mrFn4eu5QACKCIpjScwLVW9bk3SqlyZE7B/XbGYc3nzN4Fn5XfJ/3kunOYDAwYMD3bN++Er1ez/Ll67l69TojRw7i7NlLeHh4smzZepYsmcHly4eJioqhS5d+ict7ex8jR44c2NhY4+7elJYtO3Htmg8jRkxiyZIZ/PjjKCIioujVyzJDYRsMBoYNHsuGTYvR6fWsXfUb3tdu8M13/Tnv9Se7f9/P6pUbmbvwR0557SE6+i69PjOOYFe9ZmW++a4/cXEG4uMNDB44ipjouzg4FmDQkD5c977J/sPGSyh/WbSKVSs2WqS+rweNZOu2Fej1elas2MDVqz6M+H4g585dYqfHXpYv28DiX6Zx8dJBoqNj6NrlfwD0/qILRYsV5tth/fl2WH8AWrl3Jjw88nkvaRmGeO5Nm4XttB9Ap+OBx+/E+fqRvUd3Yq958+jYH2Rr94Fx4AaDgfh794iZMNm4rJUeuzkzAdDu3ydm7ATIYJfYGQwGpnw3nblrp6HT69m6dge3vH3pM7QnV85f49Ceo5RyK8m0JZPImTsHdRrX5IshPWlXtxNFirswaHQ/4yV5SrFi3lpuXLtl6ZJMGAwGfhg+g1lrpqLX69i2bie3rvvRe8hnXL3gzeE9xyhVviQ//DKenLlzUKtxDXoP/oyO9ZMPsfwmGjJqMqe9LhITc4+GbTrRt0dnPnRvaum00izeEM/qkYv5esX36PQ6jmzYT5CPP20GfoTfpRuc33uGDsO6kClrZvrONX7WRwZGMOvzyTi6OtN1Ym/iNQ2dUnjM22wy+l1GYzAYGDvsR37Z8DN6nZ6Na7dxw/sW/b/pzZ/nr7J/92HKupVizvIfyZkrJ/Wb1Kb/0F60qN3R0qkL4+0zNzRNuwWglFoHtAauPAnQNO1AkvgTQPLfVHiGetOusXx2mG+l1GAgO7AO2AD8DewHOmma5qKU6obxqLFfQrxfwvOIZ+elpHWhlm/WH+gl3Xj03+1CLpXZ/sVBb7DtoV6WTiFd5ciUxdIppKv7sY9eHPQGu/Fexr2c5t9qfuOxpVNIV1Y6vaVTSFd/XFxm6RTSXa9KQyydQro59s/tFwe9wa6Hn8l4Q1KmwN2M+8fb7+xI9W+ilGoHvK9pWs+E552Bqqnt2yulZgMhmqaNf95rvnE9SJqm+WEcdOHJ86Q/MFAuyeMRCfOXAcuSxLskeWwyTwghhBBCCJFxKKV6Ab2STFqoadrCJ7NTWCTFgzelVCegEpD8V6mf8cYdIAkhhBBCCCEsx5yjFSccDC1MZXYAUDDJc2cg6NkgpVQjYDhQV9O0F17C8aYO0iCEEEIIIYR4u50GiiuliiilbICPgG1JA5RSFYAFQCtN09L02wHSgySEEEIIIYRIsxeNLmcumqbFKaX6AbsBPbBE07TLSqmxwBlN07YBP2Icr+DXhN9nu6NpWqvnrVcOkIQQQgghhBBvJE3TdgI7n5k2MsnjRi+7TjlAEkIIIYQQQqTZmzYK9suSe5CEEEIIIYQQIoH0IAkhhBBCCCHSLGP97PbrJz1IQgghhBBCCJFAepCEEEIIIYQQaWbO30GyBOlBEkIIIYQQQogEcoAkhBBCCCGEEAnkEjshhBBCCCFEmmWUH4pNL9KDJIQQQgghhBAJpAdJCCGEEEIIkWbyQ7FCCCGEEEII8ZaQHiQhhBBCCCFEmsk9SEIIIYQQQgjxlpAepBfIqv7bfyKfmEBLp5BuShTIb+kU0pUh3mDpFNLVvUf3LZ1CulIoS6eQrkqd97d0CummTK7Clk4hXWXRWVs6BfEvLTzzo6VTSDfdKw62dAqC//4Pxf639/6FEEIIIZLoVWmIpVNIV//lgyMhzEUOkIQQQgghhBBpFi+j2AkhhBBCCCHE20F6kIQQQgghhBBp9t/uP5IeJCGEEEIIIYRIJD1IQgghhBBCiDST30ESQgghhBBCiLeE9CAJIYQQQggh0kx6kIQQQgghhBDiLSEHSEIIIYQQQgiRQC6xE0IIIYQQQqSZJj8UK4QQQgghhBBvB+lBEkIIIYQQQqSZDNIghBBCCCGEEG8J6UESQgghhBBCpJkmPUhCCCGEEEII8XaQHiQhhBBCCCFEmskoduK1KV+3Aj/tn8P0Q/No1eeDZPOb92zFj3t/ZsquGQxfM5a8TvkAyOuUjwk7fmLSzun86DmLRp82NXfqKWrSpB5/XjrElStHGTL4y2TzbWxsWL1qLleuHOXoke0ULuwMgK1tbvbs3kBUpDczZoxPjM+SJTNbtizn0sWDnPfax4Txw8xWy4tUqPsesw/MY+7hBXzQt12y+a16tmbWvjlM3z2LMWvHky+h7QC+XzGaVZfWMnzpSHOmnKImTerx55+HuXrlKEOGpNJmq+dx9cpRjh192mYAQ4f24+qVo/z552EaN66bOD1XrpysW7eQS5cOcfHiQapVrQjA6NFDOHfWkzOn97DTYw0ODgXSv8AkmjSux6WLB7ly+QiDB/dNNt/GxoZVK+dy5fIRjhzeZrJ97t69nsiIa8yYPi7Fdf+2cQnnzu5N1/yfp3Hjuly8eIDLlw+nWtvKlXO4fPkwhw9vfaa2dUREXGX69LEmy7Rr587p07s5d24vEyZ8Z5Y60qphozqcOreHsxf2MWBQ72TzbWxs+GX5TM5e2IfngY0ULORkMt/Z2QH/kAv069/DXCmnWZV6lVl9eBlrj67g0y8/Sja/fNWy/LJrPgdu76Feizom8/I75uenNVNYeXAJKw8swd7ZvO+xtKhUryK/HFzM0iNL6Ni3Q7L5ZauWYc7O2fzu60Ht5rVM5vX8rgcL9y5g8f6F9B3Tx1wpv5Qydd2YuG8Wkw/OpnmftsnmN+nhznjPGYz9fRpDVo/CLsl3wy83NzBm51TG7JxK/0XfmjPt12LExGnUafERbTp9YelUXkm5uhX4cf/P/HRoDu4ptF2znu5M2TuTibumMWzN6MS2s3PKx7gdPzJh509M9pxBg0+bmDt1YQav/QBJKbVTKZX7JeJdlFJ/vu480vjaf5vttXQ6uo/rzZSuYxnc6H/UaFUbp+LOJjF+l28xvOXXfPP+AE7u/INPhnUFIDosmlEffMOw5gMZ0Xoorfp8SJ78ecyVeop0Oh0zZ47HvVVnypevT8eOrXm3ZHGTmO7dPyI65i6lStVi1qxFTEzY6Xr48BGjx/zIN98m3/mcPn0BZcvVo3KV96levRJNm9Y3Sz3Po9Pp6DX+C8Z1HU3/hl9Sq1UdnIsXNIm5dfkWg1sMYmDT/vzhcYwu33VPnLdlwSZmDJxm7rST0el0zJo5AXf3TpQrX5+POrbh3XdN2+yz7h8TE32Xd0vVYuasRUycOByAd98tTscOrSnv1oCWLT/l51kT0emMHx/Tp41lz+4DlC1bl4oVG3P1mg8AP/00j/cqNqZS5Sbs3LmXEcMHmrXWmTPH06p1F8q7NaBjh9aUfHb77PYRMTExlCpdm1k/L2bC+Kfb55gxU/n22/EprZrWrd/n73/+SfcaUvOkttatu+Lm1pAOHVolq61bt47ExNyldOk6/PzzYsYnnGww1vYT3347wSTe1jY3kyZ9R7NmH/Pee40oUCAv9evXNFtNz6PT6fhx2mjaf9CDapXe58P2LXmnpKtJTOeu7bkbc5eK5Rsyb85SRo8bajJ/wpTh7PU8bM6000Sn0zFoQn8GdxpG5/qf0ahNA1yKFzaJCQ0MY+LAH9i7ZV+y5UfM/Ia18zbQud5n9GrRl+iIGHOlniY6nY5+479keJcRfN6gF/Va16NQ8UImMWGB4Uwd9BP7txwwmV6q4ruUrlSKL5r0oVejLyhRvgTlqpUzZ/ovpHQ6Oo/9nOndJjC88QCqtqqFo6vp9/qdK76MdR/KyGaDOPP7CToM65w47/HDx4xqPphRzQcz6/PJ5k7/X2vTvDHzp6X8OZnRKZ2OruM+54eu4xna6CuqtaqNY7J9Ml++bzmE794fxKmdx/l4WBcAYsKiGfPBMIY3/5pRrb/Fvc8H5LbwPpklxKOZ7Z8lvPYDJE3TmmualrE+pTMAV7fihPgFE+YfiiE2juPbj1KpcVWTmCvH/+Txw8cA3PDyxtbBDgBDbBxxj+MAsLaxRumUeZNPQeXKbty86Yev7x1iY2PZsGEr7u6mZ1Hc3ZuwcuWvAPy2yYP69Y1nB+/ff8Aff5zm4cNHJvEPHjzk0KE/AIiNjcXr/J84OTmYoZrnK+5WnGC/YELvhBIXG8fR7Yep0sS07f48fonHCfVc9/LGLqHtAC4du8iDvx+YNeeUVKlcwaTN1m/Yiru7aW+kSZv95kGDhDZzd2/K+g1befz4MX5+/ty86UeVyhXIkSM7tWpVZcnStYCx3e7evQfAX389Pf+QNVtWs3bHJ9s+f92W8va5aiMAmzZ5JB4QJG6fjx4lW2+2bFn56qvPmTRpVvoXkYpna/v11+0p1rYqsbadyWp79OihSXyRIoXw8fElIiIKgP37j9KmTTMzVPNiFSuV59at29z28yc2NpZNGz1o3qKRSUyzFo1Yu3ozAFs376JuveqJ85q3bMRtX3+uXfUxa95p8W6FkgT6BRJ8J5i42Dj2bT1AraY1TGJCAkK5efUWWrzp+8eleGH0VnrOHDkLwIP7D3n0MPk2a0nvuL1DkF8wIXdCiIuN49C2Q9RoUt0kJjQgFN9rvsk+HzQNbDLZYGVjhbWNNVbWeqIjos2Z/gsVdXMl7HYI4Qnf66e2H6VCk8omMdeSfK/f9LpOHnu7lFb1RqrkVpZcOXNYOo1XUszNlVC/4MS2O7H9KBUbVzGJuWqyT3Y9lX0yqwyxTyZev5c+QFJKDVVK9U94PF0ptT/hcUOl1CqllJ9SKm9Cz9BVpdQipdRlpdQepVSWhNiKSqkLSqnjwJdJ1l1aKXVKKXVeKXVRKVU8YT3XlFLLE6ZtVEplTbKeQ0qps0qp3Uoph4TpxZRSuxKmH1FKlUyYXkQpdVwpdVoplfK1M+kkj70tkcERic8jgyPJY2+bany9jo24cPBc4nNbh7xM2TWD2ScWs23+JqLDLPtF4eToQIB/cOLzwMAQHJ85mHFytCcgwBhjMBi4e+8ednZpO8uSK1dOWrRoxIEDR19f0q/I1t6OiCDTtrMrkPqXXKOOjTl34Kw5Unspjk72BAQEJT4PDAzGydE+WYx/QozBYODuXWObGdvSdFlHJ3uKFi1MREQkvyyezulTu1kw/0eyZs2SGDd27Dfcunmajz9uy+gxP6ZzhUnqcHxax5N8k9WapCaDwcC9e3+9cPscPWoIM2Ys4sEDyx3wOqbUFo4FUo1JS203b96mRIliFC7sjF6vx929Cc7OjulTwEtycCxAYMDTz5qgwBAcktX7NMZgMHDv7t/Y2uUha9YsfDWwN1Mm/WzWnNMqn31ewoLCE5+HB4eT1z5vmpYtWNSZv+/9w/hFo/ll93z6juiV2KubUeS1tyPcpL4I7NJ4gHD13FXOH7/AujNrWHd2DWcOncX/hn96pfpK8hSwJSrJd0NUcBR5nvPdUKdDQy4l+V63zmTDyG1TGLF5EhWaVEl1OfH65bG3Iyo4MvF51Av2yep2bPjMPpkdE3dNY+aJReyYv5kYC++TWYKmaWb7Zwmv8ml6GKid8LgSkF0pZQ3UAo48E1scmKNpWmkgBvgwYfpSoL+madWfif8CmKlpmlvCugMSpr8DLNQ0rRxwD+ib8Jo/A+00TasILAGeXDeyEPhfwvTBwNyE6TOBeZqmVQZCXqH2V6ZI4QxDKm1eq21dipZ1ZfuCzYnTooIj+Ob9AQys8wV1PqxPrry50inTtFEplfPMRqxSCErLhq7X61m5cg5z5izB1/fOK+f4urxMHXXb1qNYOVe2LNiU3mm9tLTUkXJM6sta6fVUqFCWBQtWULlKU/755z5Dh/ZLjBk5cgpFi1Vm7drN9O3bPdk60kvaak2+3PO2z3LlSlGsWGG2bdv1r/P7N169HVOvLSbmLv37D2flyjns27eR27cDiIuL+/fJvgZpqiWVmG+Hf8W8OUv555/76ZXev5PSiec07gzorfSUq1KGOeMW0Kt5XxwKOdCsQ8a4PzXRK34HADi6OFDItRCfVOnEx5U/xa2GG2WrlnndGf47L1Ff9TZ1cClXjN8Xbk2cNrhGb8a2+oYF/Wfwycju5CuU8e4h+69Ksc8nlU2zZts6FC3riseCLYnTooIj+e79QXxdpy+1P6xPTgvvk4nX71UOkM4CFZVSOYBHwHGMBzO1SX6A5Ktp2vkky7kopXIBuTVNO5QwfWWS+OPAd0qpb4DCmqY9OU3rr2nasYTHqzAejL0DlAE8lVLngRGAs1IqO1AD+DVh+gLgSddGTWBtCq9rQinVSyl1Ril15sbffi/+i6RBVEgkdg5PzwzaOdgRHRqVLK5MzXK06deOqT0nJnbhJhUdFk3AdX/eqVLqteT1qgICg3Eu+LTHyMnJnuCgkOQxzsYYvV5Prpw5iYp68dWX8+ZO4cYNX37++ZfXm/QrigyOIK+jadtFhSVvu3K1ytOuXwcm9RifYttZWmBAsEmvgJOTA0HBocliCibE6PV6cuXKSVRUdEJbmi4bHBRKQGAwAQHBnDrtBRgvpazgVjbZa69bt5m2bZunR1kpCgx8WseTfJPVGhiSWJNerydnzhzP3T6rVa1IhQrl8Pb+g/37NlG8eBH27NmQPgU8R2BKbREclmpMWmoD2LlzL3XqtKZevbb4+Nzixg2/1577qwgKDMHJ+elnjaOTPSHP1Js0Rq/XkzNXdqKjYqhUuTxjxg3lwuWD9OnbjUGD+/B5785kFOHBEeR3fHrTfj6HfESERj5niafCgsPx+fMGwXeCMRjiObr7GCXKFn/xgmYUERxBPpP68hKVwvdeSmo2rck1r2s8vP+Qh/cfcvrAaUpWKJleqb6S6JBIbJN8N9g62BKTwndDqZrlaNnvQ2b2nGTy3fCk1yHcP5RrJy5TuHSR9E9aAMZ9Mtskl8LbprJPVrpmOVr1a8e0Z9ruiZiwaAIzwD6ZJcg9SM/QNC0W8AO6A39gPCiqDxQDrj4TnvSCaAPGYcUVqRyna5q2BmgFPAB2K6UaPJn1bGjCei5rmuaW8K+spmlNEmqKSTLdTdO0d59Z9kU1LtQ0rZKmaZVcs7u8KDxNbl7wwb6IA/kK5kdvbUV191qc9TxlEuNSugg9J/Vlao+J3Iu8mzjd1t4O60w2AGTLmY13KpUk+GYQlnTmzAVcXYvg4lIQa2trOnRozY4dniYxO3Z40rlzewA+/KAFBw8eS2lVJsaMHkKuXDn5+utR6ZL3q/C54INDEUfyFyyAlbUVtdzrcPqZtitSuih9Jn3JxB7juJuk7TKS02fOm7RZxw6t2bFjj0nMjh17nrbZhy04kNBmO3bsoWOH1tjY2ODiUhBX1yKcOu1FaGg4AQFBlChRDIAGDWpx9ep1AFxdn37Zu7dsgrf3TXOUCTzZPl2ebp/tW6W8fXYyjkj4QRq2z4WLVlKkaCXeeacGDRp+gI+PL02aJB+VK709+95r3949xdo6JdbWnIMH/3jhevPlM+4s5M6di169OrN06doXLGEe585epFixwhQq7Iy1tTUftGvB7ztNByzYtXMfH39qHIWqddv3OXzoBADNm3xM+dL1KF+6HvPmLmPa1HksWpDquTGzu3b+Gs5FnHAoaI+VtRUNW9fn6J4Xt5VxWW9y5M5Bblvjmev3albA7/rt9Ez3pXlf8MbJxRH7hM/Ouq3qctzzRJqWDQsKo2zVsuj0OmNvWbWyGe4SO98LN8jv4kBeZ+P3ehX3Wnh5njGJKVS6CF0n9mZWz8n8FXkvcXrWnNmwsjH+0kr2PDkoXrEkQT4BCPO4deGGyT5ZNfdanPM8bRJTuHQRPpv0BdN6TEp1nyxrzmwUr1SS4JuBZs1fpL9X/R2kwxgvXfsMuARMA85qmqaldDlEUpqmxSil7iqlammadhT49Mk8pVRR4JamabMSHpcDbgGFlFLVNU07DnwMHAW8gXxPpidccldC07TLSilfpVR7TdN+VcaEymmadgE4BnyEsRfqU8wo3hDPspGLGLZiFDq9noMb9hLg40+7QR/je/EGZ/ee5pPvupE5a2a+mmscgSkyKJypPSfi5OpMpxHd0TQNpRQ7Fm7F39uyX4QGg4EBA77HY8dqdHody5et58rV64waOZiz5y6wY4cnS5euY9nSmVy5cpToqBg6dX46HPF17+PkzJkDGxtrWrk3pUWLT7j3198MG/YV1675cOqk8TKmufOWWXxHLd4Qz6Lv5zNq5Rh0eh371u/F//odPh70KTcu+XDa8xRdh3cnc9bMDJlnHKo1PCicST2Mo/tM2DgZp2LOZM6WmUUnlzJnyCzOH/Yyex0Gg4GvBozAw2MNep2OZcvXc+XKdUaNGszZs8Y2W7J0HcuWzeLqlaNER8fwaSdjm125cp1fN27n4oUDxBkM9P9qOPHx8QAMGPg9K5b/jI2NNbd879Cz5yBj3ROGUaJEMbT4eG7fCeTLL803jO2T7XPH9lXo9XqWLV/P1avXGTnya86dvcgOD0+WLlvH0iUzuHL5CFFRMXTu8nTYc2/vP8iZw7h9urs3pUXLT7l2LWPc5P+ktu3bV6LX61meWNsgzp69hIeHJ8uWrWfJkhlcvnyYqKgYunR5etmjt/cxciSprWXLTly75sNPP42mbFnjWdCJE2dw44avpUo0YTAYGPr1GH7bshS9Xs/qlb9y7aoPw0Z8xflzf/L7zn2sXL6B+Yt/4uyFfURHx9Cj2wBLp50mBkM800f8zE9rpqDT6fBY/zt+12/TY3A3rl3w5pjncUqWf4cJv4whR67s1Ghcnc++7kqXBj2Ij49nztgFzFg/FRRcv+TD9jUeli7JRLwhntnfz2XiqsT3LFQAACAASURBVAno9Dp2r9/D7eu36fJ1Z65f9OGE5wlKlC/BqEXfkyNXDqo1qkrnQZ3p1ag3RzyO4lbDjYWe89E0jTOHznJi70lLl2Qi3hDP6pGL+XrF9+j0Oo5s2E+Qjz9tBn6E36UbnN97hg7DupApa2b6zv0agMjACGZ9PhlHV2e6TuxNvKahUwqPeZsJuvFmHSANGTWZ014XiYm5R8M2nejbozMfumewyzxTEW+IZ/nIxQxdMRKdXsehDfsI9PHnw0Ef4XvxJuf2nubj77qQOWtm+s8dDEBkUATTek7C0dWZT0Z0Tbj8HHYu3EqAt+VvBzA3zUI9O+aiXuXmJ6VUQ2AXxkvl/lFKXQfma5o2TSnlR8K9ScAOTdPKJCwzGMiuadpopdSTe4buA7sx3kdURik1DOgExGK8R+gTICewE+NBWQ3AB+isadp9pZQbMAvIhfFgb4amaYuUUkWAeRgvrbMG1mmaNjZh+pqE2N+AEZqmZX9erR8XbvOf3gJ+Cznz4qA3VIsCFSydQrraEXLuxUFvsIx2w/nrluJ9if8hWaxsLJ1CuimTq/CLg95gWXTWlk4hXTnps1k6hXS18Iz5BsSxhO4VB1s6hXS16vamN+LLoZx9dbPtH18MOW72v8kr9SBpmrYP44HHk+clkjx2SXgYgfEeoSfTpyZ5fBYon2SVoxOmTwImJX0tpVROIF7TtGS/RJZwf1OdFKb7Au+nMj3pwBBv3g8PCCGEEEIIIdLNq15iJ4QQQgghhHgLxVto+G1zyfAHSJqm+ZGkJ0oIIYQQQggh0kuGP0ASQgghhBBCZBz/9UEa/tt3QQshhBBCCCHES5AeJCGEEEIIIUSa/dfvQZIeJCGEEEIIIYRIID1IQgghhBBCiDSTe5CEEEIIIYQQ4i0hPUhCCCGEEEKINJN7kIQQQgghhBDiLSE9SEIIIYQQQog0k3uQhBBCCCGEEOItIT1IQgghhBBCiDSTe5CEEEIIIYQQ4i0hPUhCCCGEEEKINJN7kP7f3n2HR1GtDxz/vrsJ0ksIQgAVBZUuTQWpooKAiApeCxZEsWBXBAFFFAso4v15RQW9CtYrgoIoIB0UQZBelI6UFCCNHpLd8/tjTpJN2BQku5uE9/M8PMzOnJ0578ycs3POmZkopZRSSiml1FlCG0hKKaWUUkopZektdnnollo21FkIqJEN6oY6CwHzdkLpUGchoM4tUzHUWVBnwGO8oc5CQN1TsUmosxAwgxpFhzoLASWutFBnIaBa/nYw1FlQZ+DTlaNDnQUFmGL+G6YNJKWUUkqpYuK+5gNCnYWA0gaSCgZtICmllFJKKaXyzasvaVBKKaWUUkqps4OOICmllFJKKaXyzegfilVKKaWUUkqps4OOICmllFJKKaXyTZ9BUkoppZRSSqmzhI4gKaWUUkoppfJNn0FSSimllFJKqbOEjiAppZRSSiml8s2rI0hKKaWUUkopdXbQESSllFJKKaVUvhl9i51SSimllFJKnR10BEkppZRSSimVb/oWO6WUUkoppZQ6S2gDSSmllFJKKaUsvcVOKaWUUkoplW/eYv6SBm0gBVFUh8ZcPuJuxOVi29cL2fjedL/pzu92Oe0+epIZ179IwrqdlKhUlnbjn6Byk4vYMWkxK4Z+FuSc563kVZcTMaA/uF0c+X4mhyb8L8vyMt07UempB/HsPwjA4W+mcWTqTM5pcRkRzz6SkS681vkcGPwqxxf+FtT856Ve+8u4ZVgfXG4XS7+Zz9wPpmVZfvX93Wh1e0c8aR6OJBziq4EfkrjPifXG53vToGNTxOVi8y/rmPLyhBBEcKoO17ThlTeex+V28/XnUxj774+zLC9RIpz/++ANGjVpQGJCEo/0fZa9e6IBqNfgEkaNeYmy5criNV66dbyNlJST9OjZlcef6YcxhriYAzz+0CASE5JCEV6BxxcWHsb3Mz7P+H5U9ap8N+lHXhoyMqhxAVx9TRtGjByC2+3iy88m856f2P7z4SgaN6lPYkISD/V9hj27M2N7652XKVeuLF6vl+s73kpKykmef+FJbr29BxUrlqd2zRZBjym/Lml/GT2G3YO4XSz/ZgELP/ghy/KWva+l1d3XYbxeUo6eYMrgj9m/bV+Icpu38GZXUKbf4+BycWLOT5yY/NUpaUq0uZpSd/QBDJ6d2zkyegSuKlUpN2QEuFwQFsaJ6d+RMuuHU74bauFNr6C0jS9lzk+cmOInvtZOfMY48R0d48RX9vnM+FJ+Kpzx+WrbsRVDXxuA2+3i2y+mMv7diVmWt2jVlKGvPsul9evw9IND+Xn6vBDlNP8at2/K3S/1xeV2sfB/c5n+wfdZlnd5oDsdbr8WT5qHwwmHGP/cWOL3HaByjSo8NW4gLpcLd7ib2RNmMP/L2SGK4p954fUxLF6ynIhKFZn6xYehzo4KsrOygSQitYCrjDGn1tSB2qZLuOL1e5l3+0iOxSTQZcYr7P15Jclbo7OkCytTkkvv78yBldsy5nlOpLL2rclUvLQmFevWDFaW88/lImLQ4+zvP4i0uANEfTGW44t+I3Xn7izJjs5eSOKo97LMS/ljLTF3POyspnw5qk+byIllK4OW9fwQl3DrK30Ze9drJMXGM+CHN9gw5w9ifS669m7axVvdB5N64iRt7rqOHoN7M+Gx/+PCZpdwUYtLGXn9cwA8NfkV6rSsz7Zlm0IVDgAul4vX3hrKHTf3IyY6jhnzv2H2zAVs3bw9I80dd/ckOfkQbZp34cZbujB0+DM8cv8A3G43744byZMPD2bThs1UqlSB1NQ03G43r7zxPB1a3khiQhJDX36W+/rdyZhR7xeL+FJSTtKpXc+M789cMIkZP84JSWxvjH6Rf910PzHRccxaMInZMxewxSe2O+/uRVJSMq2aXU+PW7rywvABPNT3GdxuN2PHv8ljDw2ysVUkNTUNgNmzFvLJR1+xdOXMoMeUX+ISbn7lPj6663WSY+N5/IfX2DRnZZYG0OppS1j25VwA6l/bnO4v3s1/7w1+IzZfXC7KPPwUh158Fm/8ASqMGUfq70vw7Pk7M0lUDUr16s2hgY9ijh5BKlQEwJsYT/Jzj0JaKpQsRcX3PuXk8iWYhPhQRXMql4vSDz3F4Zec+MqPHsfJ5UvwZouvZK/eHBp0anyHBmXGV+HdQhifD5fLxUsjB3HfrY8SGx3HlNmfMW/WYrZv2ZmRJmZvLM8/Ppz7+98dwpzmn7hc3DuiHyN7v0xCbDyv/PAmK+euIHrr3ow0uzbu5MUbnuPkiZNcc1dn7hh8D+899jZJ+xN5+ZbBpJ1M45zSJRk5+9+smrOCpP2JIYzo9NzU9Tru7HkjQ0aMDnVWCiV9SUPxVAu4M5gbrNy0Nod3xXFk9wG8qR52TVtGzc7NT0l32cBebHr/R7wpqRnzPMdTOLB8Cx6feYVJiYaXkrY3mrR9MZCWxtGfF1KqQ+vTXk/pa9txYskKzImUAOTyn7ugSR0O/B1H/J79eFI9rJr+G406XZ4lzdalG0k9cRKAXau3UrFaZcD5OwHh54QTFh5GWIlw3GFuDh9IDnoM2TVt3ohdO/aw+++9pKamMu27GXTuenWWNJ26dOTbr52Rsp+mzaZN+5YAtO94FX9u3MKmDZsBSExMxuv1IiKICKXLlAKgXLkyxMUeCGJUmQIRn68LLzqfyCoR/P5b8BvzTZs3ZueO3RmxTZ0yg85dO2ZJ07lrRybZ2H6c9nNGbB06tmbThs0+sSVlxLbqj7XsjwvN8cqv85rU4eDfsSTYsrh2+lIadMo62pVy5HjGdInS5xTqH/Gwi+vhidmHN86pO1MWzyf8yjZZ0pTs3J0TM77HHD0CgEm2I7JpaU7jAZDwcGekpZAJu7ge3tjM+E7+Mp8SV2SN75xO3UkpovH5atysAX/v2sOev/eRmprGT1Nnc22X9lnS7NsTw+ZN2/Aabw5rKVxqN6lD3K4YDuyJw5OaxrLpv9L8uiuypPlz6QZO2t++bau3EBHl/PZ5UtNIO+l0voSXCENcEtzMF4AWTRpRoXy5UGdDhUixGkESkXuAAYAB1gEe4BDQAqgGDDTGTAZGAvVEZA0w0RjzTqDzVrpaJY5FJ2R8PhaTQGSz2lnSVGp4AWWqR7Bv7hrqP9wt0FkqMGFVIkmL3Z/x2bP/ACUa1j0lXemObSnZrDGpf+8l8e0P8GS7GCvTuQOHvpgc8PyeropVI0iKzuy1TIqJ54ImdXJM3/JfV7Np4RoAdq3aypalGxmxYhyCsPizWcRtD/3tPtWiqhK9Lybjc0x0HE2bN86apvq5RO+LBcDj8XDo0GEqRVTkotq1wBi+nDyeypGVmPbdTD549xPS0tIY/OwI5v06lWPHjrNzx98MGfBqMMPKzHsA4vPVo2c3fvhuVsDj8CcqKjPf4MTWLFtsUT7xezweDh86TERERS6qUwsDfD3lIypHRjBtygzGvvvfYGb/jFSoWolkn7KYHBPPeX7KYqu7r6PdA91wh4cx/s7QnIP54aocifdgZt3pjT9A+CX1sqRx13DuGig/6j1wuTj+9QRSVy13vh9ZhXLDRuGuXoOjn3xQ6EZXpHIknmzxhWWPr7oTX7mR7yHp8a3OjK/si6NwR9Xg2ITCF5+vqlHnErsvLuNzbPR+LmveMIQ5OnOVqlUmISZznyfExFO76cU5pm9/2zWsXbgq43NEVGUGfDqUqrWi+Pr1iUVq9EjlzVuIO58KQuHukjkNItIAGAp0NMZcBjxpF0UBbYAbcBpGAM8DvxhjmgSjcWQzeMqsLOeWCC2G38XKl4N211/B8RNb9mf3ji9exr4b7iLmtgc58fsqIl8ZmGW5OzKC8DoXcnzpHwHM6D+U17Hz0eKmNpzfuDbzxzv3ykdeUJVqdWowrOUjvNjyYS65qiG1r6jn/8tB5PeQZQtK8JsId5iby1s247EHB3JTl7vp0u0a2rS7krCwMO7pexud2/eiWb0O/LlxC48/3S9AEeQuEPH56nFLF6ZOmVGQWc438Xc+ZitwftMYCHO7ubJlMx7t9xw9ru9NlxuupU27lgHLa4HLR10DsPTzOYxq/xQzRn5Fx8dvDny+/qn81C1uN+7qNTk05EmOjH6FMo8/h5QpC4D34AGSn+hL4oN3UvKa65GKlYKQ6dORj+Nl4zs81Mb3WNb4Dj3Zl6SH7+Scq69HKhS2+DLlp84pavyO+eQQUuub23FRozr8NG5qxryEmHiGXP8Mz7brT9ueV1M+skJA8qlUIBSbBhLQEZhsjDkIYIxJH66ZaozxGmM2AVXzsyIReVBE/hCRP+Yf21ogmTsWk0Dp6hEZn0tHRXA8NrM3JbxsSSrUrcl1U4Zy0+/vENmsNh0mPENE4wsLZPuBlLb/AGHVzs347D63Cp4DWXv6vMmHINW5XeLI9zMoUfeSLMtLX9eeYwuWQJon8Bk+TUmx8VSsXjnjc8Woyhzy0xN2SetGdHrsFsY/8GbGrQWNO1/BrtVbOXkshZPHUvhz4Rpq5dIDFywx0XFUrxGV8TmqelXifEYBM9NUA8DtdlO+fDkSE5OJiY5j2ZI/SExI4sTxE8yf8wsNL6tPg0bOqOHfu/YAMH3qLJpf2SRIEWUViPjS1W94KWFhbtavDc1zZNE++QYnttiY/dnSxGbE73a7KVe+HImJSURHx7F0yQoSEpI4fvwE8+YsprFPbIVdcmwCFXzKYoUcymK6tdOX0uC6wvvCCe/BA7giM+tOV+UqeBMOnpLm5O+/gseDNy4W7749uKpnfRbVJMSTtnsX4fWzjiSGmok/gDuv+OJ94tsfi2ffHlxRp8bn2bOLsAaFKz5fsdH7qVYj8xKjWvVz2R+iW4wLSkJsfMYtc+CMCCXGJZySrkHrxtz4WC/GPPBGxm+fr6T9iezbsodLryg6dY3KmzEmaP9CoTg1kAT/fRsp2dLkyRgz3hjTwhjTomPpgrmYjV+zg3IXVqPMeVVwhbup1aMle2dnDkWnHj7O5IaPMPXKp5l65dMcXLWdhX3GkLBuZy5rLRxObtxM2Hk1CKteDcLCKNO5A8cXZX0LnTsys3FYqn0rUndlfYFDmes7cnTW/KDk93TtXrudKrWqEVGzCu5wN826X8X6OVlHumo2qMXtrz/ARw+8yZH4QxnzE6MPUufK+rjcLlxhbmpfWY+4bXuzbyLo1qzawIW1z+e882sQHh5Oj1u6MnvmgixpZs9awK139ACgW49OLFn8OwCL5i2hXoNLKFmqJG63m5atW7B183ZiY+K4+NLaRFR2ennbdbiKbZt3BDcwKxDxpevRs2vIRo8A1qxaz0W1L+D8C5zYburpJ7aZC/iXje2GHp1ZsngZAAvn/Uq9BpdSysbWqvXlWV7uUNjtXbudyFrVqGTL4mXdW7FpTtbnwCJrZTYe63ZsSvyu2OyrKTTStv6Fu3pNXFWduvOcdh1JXb4kS5qTy34lrFFTAKR8BVzVz8MbG42rchUoUcKZX6Ys4fUa4tm3J+gx5CZt61+4omriOteJr0TbU+NLXfYr4enxlauAq8Z5eOOikWzxhdVtiLeQxedr/epN1LrwPGqeX53w8DC63dSJebMWhzpbZ2TH2m1UuzCKKuedizs8jJbd27BqzoosaS5ocCF933iYMfe/waH4zOdrI6pVJvwc5/iVLl+Gi1vUJaYQ3F6uVH4Vp2eQ5gHfi8g7xph4EYnIJe1hIKhP3hmPlxVDJ3LNVwMRt4vt/1tE8pZ9NH6uJwlrd2ZpLPlz0+/vEF62FK4SYdTs3IL5d4w85Q14IePxkjDqP5w7diS4XBz5YRapO/6mwsP3cnLTFo4vXkq522+mVPtWTi9h8mEOvvRmxtfdUVVxV61Cysp1IQwiZ16Pl8nDPqH/Z0NwuV0sm7SQ2K176fr0rexev4MNc1fSY/BdlChdkvvefxqAxH0H+ajfW6yZsYxLrmrI8z+PBmP4c9EaNszL/VgHg8fj4YWBr/HVlPG43C6++fJ7tvy1nQGDH2Ptmo3MmbmA/30+hXc/HMmvK2eSlJhM//sHAJCcfIjx709kxrxvMBjmz/mFebOdC4F33nyf736aSGpaGvv2xPB0/yHFKj6A7jd15u5/PZLTpgPO4/Ew5LlX+XrKx7jdLr7+4js2/7WNgUMeZ83qDcyeuYCvPp/Me+NGsXTVLJISk3mo77OAE9u4sROYNf9bjDHMm7OYubMXAfDiywO4uVc3SpUuxaqNzjpGjxwbsjj98Xq8TBs2gQc+G4zL7WLFpIXEbd1Lp6d7sXf9TjbNXclV93aiTutGeNPSOJ58lG+e/SDU2c6Z18PRD/9N+ZdHO6/BnjsDz+5dlOrdl7Stf5G6/DdSVy0nvOnlVBg7Ebxejn36AebwIcKatKBc3/44/YLC8e+/wfN3aDokcuT1cGz8vyk33MY3bwaePbsodWdf0rbZ+Fbb+N6biPF4OT7BxndZC0r37e/ccyjCiamFMD4fHo+HVwa/xX8n/Qe3y83kr39g2+YdPDHoITas+ZP5Py+mUZP6jJ34FuUrlOfqTm15YuCDdGt7W6izniOvx8vEYR8z8LNhuNwuFk2ax76te+j5zO3sXLedVXNXcMeQeyhZuiRPvO/Un/HRBxnzwBtUr1OTO1+4N/3wMWP8NPZu3p3HFguX514ayYrV60hKOsQ1N91F//vvpmf3zqHOVqFR3P8OkhT1e2R9ici9wHM4L2dYbWf/aF/MgIgcMcaUFZFwYBYQCUzI7TmkL6rfVXx2kB9tqxXe3tUz9XZC5bwTFWFTkjeEOgvqDHiKyJus/ql7Kobm9spgGNSokHROBYgUp3tL/Gj529FQZyGgrih9fqizEFCfrizer90Oj7yoSLzyr0LZ2kG7Pk4+sj3o+6Q4jSBhjJkITMxleVn7fypwTbDypZRSSimlVHFRnAZY/Cnm/URKKaWUUkoplX/FagRJKaWUUkopFVj6d5CUUkoppZRS6iyhI0hKKaWUUkqpfMv+B8qLGx1BUkoppZRSSilLG0hKKaWUUkopZektdkoppZRSSql805c0KKWUUkoppdRZQkeQlFJKKaWUUvmmfyhWKaWUUkoppc4SOoKklFJKKaWUyjd9zbdSSimllFJKnSV0BEkppZRSSimVb/oMklJKKaWUUkqdJXQESSmllFJKKZVvOoKklFJKKaWUUmcJHUFSSimllFJK5VvxHj/SESSllFJKKaWUyiDF/R7CokZEHjTGjA91PgJF4yvainN8xTk20PiKOo2v6CrOsYHGp4onHUEqfB4MdQYCTOMr2opzfMU5NtD4ijqNr+gqzrGBxqeKIW0gKaWUUkoppZSlDSSllFJKKaWUsrSBVPgU9/tcNb6irTjHV5xjA42vqNP4iq7iHBtofKoY0pc0KKWUUkoppZSlI0hKKaWUUkopZWkDSakAEJGKItLf53MHEfkxhPmpJSIbTiP9BBHpZac/FpH6ftL0EZH3CjKfoSAiC0WkRR5pCm2sIrJLRCL9zP8t0NsIBXssqvt8DkjeRGSGLcdZynIBrbvA11lYiciQUOchUE63Xi1s0s/x00gfsnhF5EgotuuP3Q93hjofKrC0gaRCRkTcoc5DAFUEisUFkDHmAWPMplDnQ50qtzJkjLkqmHkJoj5A9bwS5YeIhOW0zBjT1RiTRGDKcrGpH/Kh2DaQijqfc1ydnlqANpCKOW0gFSARKSMiP4nIWhHZICK3iUhzEVkkIitF5GcRibJp+4nICpt2ioiUtvNvtd9dKyKL7bySIvKpiKwXkdUicrWd30dEvhORWSKyVUTeDF30pxKRESLypM/n10TkCRFZICJfAetDmL082V6iv+wIygYR+VJErhWRJXZ/XyEiw0XkEzsKsUNEnrBfHwnUFpE1IvKWnVdWRCbbdX4pIhLkkNwi8pGIbBSR2SJSSkSaiMgyEVknIt+LSKXsX/IdYRGR+0Rki4gsAlr7pOkuIr/b83OuiFQVEZfdT1VsGpeIbDvT3n4RGZi+n0XkHRGZb6evEZEvRKSTiCwVkVUi8q2IlLXL/ZZFn/W6RGSiiLwajFjzEccdtsxvEJFRPt87IiKviMjvQCuf+aVsXdAvPZ39v4M9hqeceyLS1c77VUTeFTvKKSKV7TmyWkTGAeKznal2H24UkQftvPtF5B2fNP1EZMwZHq9h4tSRG0RkvDh6AS2AL8UpW6XsJh+3318vInXt98uIUzZX2Dh62Pl97HamA7NFJEpEFtv1bRCRtjZd+siUv7J8prKsU0Ses/lcJyIv2+3nWf/YdMNF5HMRmW/n9yugPJ627OeGiIwEStk4v7Rp7hKR5XbeOLGNfHtej7LfnytO/Zper95o0/QRkWn2PN8sIi+FKlYf/upV3zozUkR22ek+dh9NF5GdIvKYiDxjz89lIhJRkBnLR9nbZfNXS0T+zB6HTdtcnOuRpcCjPutu4HMc14nIxT7n7EQ7b7JkXtvkdC1U2x7PlSLyi0/5vVCcemGFiIwoyP2Sy/66x+Z7rS1TE8SpF3+z52Evm3Qk0NbG/nQw8qZCwBij/wroH9AT+MjncwXgN6CK/Xwb8ImdruyT7lXgcTu9Hqhhpyva/58FPrXTdYHdQEmcntQddjslgb+B80K9H3ziqgWsstMuYLvdR0eBC0Odv3zmPw1oZPO/EvgE52KxBzAVGG6P8TlAJBAPhNvvbvBZVwcgGahp17UUaBOCWJrYz5OAu4B1QHs77xXg33Z6AtDLTi/EuSiNsudeFaAEsAR4z6apROZLXx4A3rbTLwFP2elOwJQCiKUl8K2d/gVYbvf5S8AgYDFQxi4fBAyzy3MqiwvtOr8Ghtp5AY81jzhe8tl+GDAfuMmmNcC/fNazyx7fucA9PvOP5Hbu4dQZe7Bl0cb/o51+Fxhmp7vZbUbazxH2/1LABqAyUAanfIfbZb8Bjf7p8fLdjp3+HOjuez5miz+9/uwPfGynXwfustMVgS02n32AvT5xPOtz3N1AOZ/1RpKtLBdgedzgc66Mx6lXXMCPQDvyUf/Y7w8H1trjEWmPafVg1S3Z4vJ3bhzxWV4PmO5znryPPWftOdbFTn8PzLbnyWXAGju/DxBj15u+jRbBiC2X4+ivXs04R+0x2eWT/21AOZyynQw8bJe9g60/CjB/uZW9h7Kd46fEYad9fyPe8jlv/wP0ttMl7PGoZY9jazv/E2AAude/84CL7fSVwHw7/YPPufGo73kUoGPZANiMTz2H8zv4LU75qw9ss8s6YOtK/Vd8/+kIUsFaD1xre8HaAucBDYE5IrIGeAHnIgWgoe0tWQ/0ximc4FyITbC9gOm3z7TBuUDAGPMXTkPoErtsnjEm2RhzAtgEXBDQCE+DMWYXEC8iTXEuAlbjNCCWG2N2hjJvp2GnMWa9McYLbMTZ3wbnWNeyaX4yxqQYYw4C+4GqOaxruTFmr13XGp/vB8tOY8waO70SqI3TCF9k503EuTDLyZXAQmPMAWPMSeAbn2U1gZ/t+fwcmefzJ8A9drov8OmZh8FKoLmIlANScC74WwBtgeM4P2RLbJm7F6dMXErOZRFgHM4P/2tBjDW3OJJ8tp8GfEnmsfEAU7KtaxpOJ8pnOWzL37lXF9jhUxa/9knfDvgCwBjzE5Dos+wJEVkLLMOp4y42xhzFacTdYHuAw40x6SPE/+R4AVwtzkjdeqAjmfvZn+98tlXLTncCnrfrXYjTIDzfLptjjEmw0yuA+0RkOE6j7nAu2wmETmTWj6twjsvFdll+6h+AacaY47YOWgBcEazMZ3PKuZFt+TVAc2CFPS7XABfZZSeBWXZ6PbDIGJPKqbHOMcbEG2OO4xz3NoEI5DRkr1dr5ZF+gTHmsDHmAE4Dabqdnz3OgpBb2fslW9pT4hCRCmT9jfjcJ/1SYIiIDAIusMcDYI8xZomd/gLn+Pitf8UZLb4K+NbOH4fTOQXOqH16neS73UDpCEy2ZQif+mGqMcZrnNvMRsdtfgAABeNJREFUc/ptV8VQjvdfq9NnjNkiIs2BrsAbwBxgozGmlZ/kE3B6hNeKSB+cHgmMMQ+LyJU4vbZrRKQJPre3+JHiM+2h8B3Tj3F6zarhXECCM4JUVPjuX6/PZy+Z+zq/xyDUxyr79vP9cK6PnP4uwH+AMcaYH0SkA06vNsaYPSISJyIdcRodvf/BNrNmwJhUe8vKfTi9kuuAq3EafDtxLqDu8P2OiDQi57KIXc/VIvK27WyAAMeaRxy7cS4k/TlhjPFkm7cE6CIiX9kL6Oz8nXt53eJ5ynpsvNcCrYwxx0RkIU7DA5yyPgT4C5/G4T88XiVxRhda2P063Gc7/qTH51uuBOhpjNmcbd1X4lMHGWMWi0g7nDr3cxF5K5eGZiAI8IYxZly2fNYif/UPnHqsgv73O/I4NzKSARONMYP9rCLV59zNiNUY45Wsz4qFPNZsspetUjijMekd0Nn3QX6P6RnLo+z9mUu+0uMQcti/xpivxLnNtxtOh9EDOHe0+Ds+gp/6V0TKA0nGmCY5hZBrgAUrp1hTsqVRZwkdQSpA4rxZ6Zgx5gtgNM5FUhURaWWXh4tIei9oOSBGRMLxuZASkdrGmN+NMcOAgzi9cIvT04jIJTi9oFl+9Aux74HrgcuBn0Ocl2A6jHOMC7NkINGOdgLcDSzKJf3vQAdxnk8JB271WVYB2Gen7832vY9xehIn+bmw/6cW49y6sRinJ/RhnJGRZUBrEakDICKlbZnZTM5lEeC/wAycnsywIMaaWxztxXk+wA3cQe7HZhjO6Oz7+dhmur+Ai+yFODi3vfjmK73O6YJzWyE4sSfaC+C6OLfwAGCM+R2nvrqTrKNRecXp73ilX1QetL3MvXzWld+y9TPOs0npz1s19ZdIRC4A9htjPsI5D5plSxKIsuy7zp+BvpL57FUNETn3NNfXQ5xnVSvjdLatKLCc5l9O50aqLUPg3E7VKz0+EYmw+/90XGe/Vwq4CadzoLDZRWYHR69c0gWD37KXQ0dKFsZ5gUOyiKSP0vleq1yEMwL9Ls7tcI3tovPT61mceutXcqh/jTGHgJ0icqudLyJymf3uEuD27NsNoHnAv2wZQnJ/Hqwo/L6rM6QNpILVCFhuh4qH4ly09AJG2dsO1uAMJwO8iHMRNgfnQiXdW2IfzMap0NbiXPS47a0m3wB9jDG+vRqFlr09aQEFe3Fc6Blj4nFuG9ogBfdgdyDci3POrQOa4DyH5JcxJgZntGQpzvMuq3wWD8dpXPyC07D39QNQloK5vS7dLzi3Yiw1xsQBJ4Bf7G0rfYCvbUzLgLr2PMypLKbHN8bG9DkQR3BizSmOGGAwTtlZi/Ms37Q81vUUUFLy+bIWe0tMf2CWiPyKE3OyXfwy0E5EVuHc/rXbzp8FhNl9OwJn//qaBCwxxiRmm3+6xysJ+AjntqOpZL3gnwB8KFlf0uDPCJxnH9bZ+jSnB7074IzWr8Z5RvL/fBcGoiz7rhO4DvgKWGrr+Mmc/sXXcuAnnP03whgTXRD5PE05nRvjcY7Bl/Y2pRdwXo6xDuf3L8rv2nL2K04ZXYPznN8fBZL7gjUaeEScV+2H+vX4fsveaXz/PmCsOC9pOO4z/zZgg73eqQukj7r+Cdxrj28E8EEe9W9v4H47fyPO83UATwKPisgKnMZ3QBljNgKvAYtsXsbkknwdkCbOyxz0JQ3FlOSjE0Gpf0xEXDgXl7caY7aGOj8q+MR5m9M7xpi2eSYu4oparCJS1hhzxI6yjAW2GmPeyet7uazvR5z45xVYJlWu7O2HR4wxo0Odl0AT53b0FsaYx0KdF3UqOxr9ozGmYYizotQZ0xEkFTDi/HHRbTgPFmvj6CwkIs/jvFDA3zMHxUoRjbWf7QHeiNNLOy6P9H6J84dPtwDHtXGklFKqqNMRJKWUUkoppZSydARJKaWUUkoppSxtICmllFJKKaWUpQ0kpZRSSimllLK0gaSUUkoppZRSljaQlFJKKaWUUsrSBpJSSimllFJKWf8PZx7fRNYdL6YAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#从特征相关性的图来看季节和月份 以及 气温和体感温度 两组的相关性特别高\n",
    "plt.subplots(figsize=(15,10))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "\n",
    "sns.heatmap(data_corr,mask=data_corr<1,cbar=False)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "temp and atemp = 0.99\n",
      "season and mnth = 0.83\n",
      "atemp and cnt = 0.63\n",
      "temp and cnt = 0.63\n",
      "weathersit and hum = 0.59\n",
      "yr and cnt = 0.57\n"
     ]
    }
   ],
   "source": [
    "#从结果中可以看出 temp 和  atemp 以及 seanson 和mnth \n",
    "#的相关性非常高 考虑是否可以剔除atemp 和 season 两组数据\n",
    "threshold=0.5\n",
    "corr_list=[]\n",
    "size=data_corr.shape[0]\n",
    "for i in range(0,size):\n",
    "    for j in range(i+1,size):\n",
    "        if (data_corr.iloc[i,j]>= threshold and data_corr.iloc[i,j]<1) or (data_corr.iloc[i,j] <0 and data_corr.iloc[i,j] <= -threshold):\n",
    "            corr_list.append([data_corr.iloc[i,j],i,j])\n",
    "            \n",
    "s_corr_list = sorted(corr_list,key=lambda x: -abs(x[0]))\n",
    "\n",
    "for v,i,j in s_corr_list:\n",
    "    print('%s and %s = %.2f'%(cols[i],cols[j],v))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   yr  mnth  holiday  weekday  workingday  weathersit      temp       hum  \\\n",
       "0   0     1        0        6           0           2  0.344167  0.805833   \n",
       "1   0     1        0        0           0           2  0.363478  0.696087   \n",
       "2   0     1        0        1           1           1  0.196364  0.437273   \n",
       "3   0     1        0        2           1           1  0.200000  0.590435   \n",
       "4   0     1        0        3           1           1  0.226957  0.436957   \n",
       "\n",
       "   windspeed   cnt  \n",
       "0   0.160446   985  \n",
       "1   0.248539   801  \n",
       "2   0.248309  1349  \n",
       "3   0.160296  1562  \n",
       "4   0.186900  1600  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_new=data.drop(['season','atemp'],axis=1)\n",
    "data_new.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据准备以及数据分割"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_train=data_new[data.yr==0]\n",
    "data_test=data_new[data.yr==1]\n",
    "\n",
    "y_train=data_train['cnt'].values\n",
    "y_test=data_test['cnt'].values\n",
    "\n",
    "X_train=data_train.drop(['cnt','yr'],axis=1)\n",
    "X_test=data_test.drop(['cnt','yr'],axis=1)\n",
    "\n",
    "columns = X_test.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   mnth  holiday  weekday  workingday  weathersit      temp       hum  \\\n",
       "0     1        0        6           0           2  0.344167  0.805833   \n",
       "1     1        0        0           0           2  0.363478  0.696087   \n",
       "2     1        0        1           1           1  0.196364  0.437273   \n",
       "3     1        0        2           1           1  0.200000  0.590435   \n",
       "4     1        0        3           1           1  0.226957  0.436957   \n",
       "\n",
       "   windspeed  \n",
       "0   0.160446  \n",
       "1   0.248539  \n",
       "2   0.248309  \n",
       "3   0.160296  \n",
       "4   0.186900  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:475: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n",
      "C:\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:475: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n",
      "C:\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:475: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "#数据标准化\n",
    "\n",
    "ss_X=StandardScaler()\n",
    "ss_y = StandardScaler()\n",
    "\n",
    "X_train =ss_X.fit_transform(X_train)\n",
    "X_test =ss_X.transform(X_test)\n",
    "\n",
    "#这里有个问题，对y做标准化之后 那训练好的模型再预测新的一组数据 需要将预测的y也标准化吗？\n",
    "#还是能再进行反标准化的，这里有点搞不清楚\n",
    "y_train=ss_y.fit_transform(y_train.reshape(-1,1))\n",
    "y_test =ss_y.transform(y_test.reshape(-1,1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据归一化\n",
    "# from sklearn import preprocessing  \n",
    "\n",
    "# X_train = preprocessing.normalize(X_train, norm='l2')\n",
    "\n",
    "# X_test = preprocessing.normalize(X_test, norm='l2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据归一化后模型预测的更不好了 所以这里就把它注释掉了"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 确定模型类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>temp</td>\n",
       "      <td>[0.6777248736947533]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>mnth</td>\n",
       "      <td>[0.23357860320943877]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>weekday</td>\n",
       "      <td>[0.03027945926637097]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>workingday</td>\n",
       "      <td>[0.0052821513408193455]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>holiday</td>\n",
       "      <td>[-0.043275103412841576]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hum</td>\n",
       "      <td>[-0.05909171258384316]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>[-0.13545581603087828]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>[-0.21187227028075248]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      columns                     coef\n",
       "5        temp     [0.6777248736947533]\n",
       "0        mnth    [0.23357860320943877]\n",
       "2     weekday    [0.03027945926637097]\n",
       "3  workingday  [0.0052821513408193455]\n",
       "1     holiday  [-0.043275103412841576]\n",
       "6         hum   [-0.05909171258384316]\n",
       "7   windspeed   [-0.13545581603087828]\n",
       "4  weathersit   [-0.21187227028075248]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#线性回归\n",
    "\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "lr = LinearRegression()\n",
    "\n",
    "lr.fit(X_train,y_train)\n",
    "\n",
    "y_test_pred_lr = lr.predict(X_test)\n",
    "y_train_pred_lr = lr.predict(X_train)\n",
    "\n",
    "#lr.coef_.T 是指的 模型计算后的各个特征权重\n",
    "\n",
    "fs = pd.DataFrame({'columns':list(columns),'coef':list((lr.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从特征的权重数值来看，温度 月份 以及风速 气候等影响均较大 其中温度的影响最大"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 模型评价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LinearRegression on test is -0.7324147566829062\n",
      "The r2 score of LinearRegression on train is 0.7336047153317646\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import r2_score\n",
    "\n",
    "print('The r2 score of LinearRegression on test is',r2_score(y_test,y_test_pred_lr))\n",
    "\n",
    "print('The r2 score of LinearRegression on train is',r2_score(y_train,y_train_pred_lr))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从R2结果上来看 对train数据的检验还行，但是对12年的结果预测的并不是很好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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pbuTkSNHMn78eJqamvq1vSEtSQVYvnw5++yzDxMmTCCiXn/8TI2UmaxZs4bly5czceLEfu3D7m5JKsBrr73GAQccYEDvRiKCAw44YEC9I4a0JBXCgN79DPQzNaQlSSqU96QlqUDt7bt+fyNGjOD444+ns7OTiRMn8p3vfIf99ttvp4916aWX8olPfIJjjjlmq/l33HEHCxYs4JZbbtnpfQI0Nzezfv36Pq07ffp0brzxRtra2rbMW7BgAXfeeSc333xzv47fCLakJUkAvPGNb2ThwoUsWrSI0aNHc+utt/ZrP9/4xje2C+gStLW1DXpAb9y4sa77M6QlSduZNm0aK1as2DJ9ww03cNJJJ3HCCSdw3XXXAfDqq68yc+ZMJk2axHHHHcc999wD1Fqxm4eA/ta3vsWRRx7JO9/5Th5//PEt+7vooou4//77t0w3NzcDsH79embMmMGJJ57I8ccfz4MPPrhdbStXruTUU0+ltbWV4447jp/85Cd9OqdHH32UM844A4D29nYuvvhipk+fzuGHH75VeN91111MmTKF1tZWLr/88i3Be8UVV9DW1saxxx675RpAbcjr66+/nne84x3cd999faqlr+zuliRtZePGjcybN49LLrkEgIceeoglS5bw1FNPkZmceeaZzJ8/n9WrV3PIIYfwox/9CIBXXnllq/2sXLmS6667jo6ODkaNGsW73vUuJk+evMNjjxw5kgceeIB9992XF198kalTp3LmmWdu9QDWd7/7XU477TQ+97nPsXHjRn73u9/16zyfe+45HnnkEdatW8dRRx3FFVdcwdKlS7nnnnt4/PHHaWpq4qMf/Shz587lggsu4Etf+hKjR49m48aNzJgxg2eeeYYTTjhhS92PPfZYv+rYEUNakgTA73//e1pbW3n++ed529vexnve8x6gFtIPPfTQloBdv349S5Ys4ZRTTuFTn/oUn/nMZzjjjDM45ZRTttrfk08+yfTp02lpqf2xp7PPPptf/OIXO6whM7n22muZP38+e+yxBytWrGDVqlUcfPDBW9Y56aSTuPjii9mwYQNnnXUWra2t/TrfmTNnstdee7HXXnsxZswYVq1axbx58+jo6OCkk07ack3GjBkDwL333sucOXPo7Oxk5cqV/OxnP9sS0meffXa/auiN3d2SJOCP96SXLVvG66+/vuWedGZyzTXXsHDhQhYuXMjSpUu55JJLOPLII+no6OD444/nmmuu4frrr99unz39CtKee+7Jpk2btuz/9ddfB2Du3LmsXr2ajo4OFi5cyEEHHbTd7xmfeuqpzJ8/n3HjxnH++edz55139ut899prry3vR4wYQWdnJ5nJhRdeuOVcf/7zn9Pe3s6vfvUrbrzxRubNm8czzzzDzJkzt6pr77337lcNvbElLak4fX2yud5PQKtm1KhR3HzzzcyaNYsrrriC0047jc9//vOce+65NDc3s2LFCpqamujs7GT06NGcd955NDc3c8cdd2y1n7e//e1cffXVrFmzhn333Zf77ruPSZMmAbX7uB0dHXz4wx/mwQcfZMOGDUCty3zMmDE0NTXxyCOPsGzZ9n/RcdmyZYwbN47LLruMV199laeffpoLLrigLuc+Y8YMZs2axcc//nHGjBnDSy+9xLp161i7di177703o0aNYtWqVfz4xz9m+vTpdTnmjhjSklSgRv8AMnnyZCZNmsTdd9/N+eefz+LFi5k2bRpQe8jrrrvuYunSpXz6059mjz32oKmpidtuu22rfYwdO5b29namTZvG2LFjOfHEE7c8hHXZZZcxa9YspkyZwowZM7a0RM8991w+8IEP0NbWRmtrK29961u3q+3RRx/lhhtuoKmpiebm5h5b0jNnztwyZva0adO48sorez3vY445hi9+8Yu8973vZdOmTTQ1NXHrrbcydepUJk+ezLHHHsvhhx/OySef3PeLOQCRmbvkQABtbW25+Yk/SerJcGxJL168mKOPPrrRZWgQdPfZRkRHZrb1sMkW3pOWJKlQhrQkSYUypCWpELvy9qN2jYF+poa0JBVg5MiRrFmzxqDejWz+e9IjR47s9z58uluSCjB+/HiWL1/O6tWrG12K6mjkyJGMHz++39sb0pJUgKamJiZOnNjoMlQYu7slSSqUIS1JUqEMaUmSCmVIS5JUKENakqRCGdKSJBXKkJYkqVCGtCRJhTKkJUkqlCEtSVKhDGlJkgplSEuSVCj/wIY0zLS3l72/wbAzNQ6F89HwYUtakqRCGdKSJBXKkJYkqVCGtCRJhTKkJUkqlCEtSVKhDGlJkgrVa0hHxKER8UhELI6IZyPi6mp+e0SsiIiF1ev9g1+uJEnDR18GM+kEPpmZT0fEPkBHRDxcLftqZt44eOVJkjR89RrSmbkSWFm9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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots(figsize=(7, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(y_test - y_test_pred_lr,bins=40, label='Residuals Linear', color='b', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "结果感觉不太好，大致呈正态分布，有点偏右，估计是有噪声值的原因"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(4, 3))\n",
    "plt.scatter(y_test, y_test_pred_lr)\n",
    "plt.plot([-3, 3], [-3, 3], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True num')\n",
    "plt.ylabel('Predicted num')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个，好像预测的不是很好，初步估计应该是模型复杂程度太高了，需要加一定的惩罚即正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is -0.7426069540662514\n",
      "The r2 score of RidgeCV on train is 0.7332465094878589\n"
     ]
    }
   ],
   "source": [
    "#岭回归／L2正则\n",
    "from sklearn.linear_model import  RidgeCV\n",
    "\n",
    "alphas = [ 0.01, 0.1, 1, 10,20]\n",
    "\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True) \n",
    "\n",
    "ridge.fit(X_train, y_train)\n",
    "\n",
    "y_test_pred_ridge = ridge.predict(X_test)\n",
    "y_train_pred_ridge = ridge.predict(X_train)\n",
    "\n",
    "print('The r2 score of RidgeCV on test is', r2_score(y_test, y_test_pred_ridge))\n",
    "print('The r2 score of RidgeCV on train is', r2_score(y_train, y_train_pred_ridge))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从结果上来看，岭回归预测的也不是很好，难道是我特征值选的有问题？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha is: 10.0\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>temp</td>\n",
       "      <td>[0.6777248736947533]</td>\n",
       "      <td>[0.6598841140826344]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>mnth</td>\n",
       "      <td>[0.23357860320943877]</td>\n",
       "      <td>[0.23187088150261406]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>weekday</td>\n",
       "      <td>[0.03027945926637097]</td>\n",
       "      <td>[0.028933102071921346]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>workingday</td>\n",
       "      <td>[0.0052821513408193455]</td>\n",
       "      <td>[0.005896445930803906]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>holiday</td>\n",
       "      <td>[-0.043275103412841576]</td>\n",
       "      <td>[-0.042226791085574256]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hum</td>\n",
       "      <td>[-0.05909171258384316]</td>\n",
       "      <td>[-0.055199108139727546]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>[-0.13545581603087828]</td>\n",
       "      <td>[-0.1335181297942668]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>[-0.21187227028075248]</td>\n",
       "      <td>[-0.2101951383567226]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      columns                  coef_lr               coef_ridge\n",
       "5        temp     [0.6777248736947533]     [0.6598841140826344]\n",
       "0        mnth    [0.23357860320943877]    [0.23187088150261406]\n",
       "2     weekday    [0.03027945926637097]   [0.028933102071921346]\n",
       "3  workingday  [0.0052821513408193455]   [0.005896445930803906]\n",
       "1     holiday  [-0.043275103412841576]  [-0.042226791085574256]\n",
       "6         hum   [-0.05909171258384316]  [-0.055199108139727546]\n",
       "7   windspeed   [-0.13545581603087828]    [-0.1335181297942668]\n",
       "4  weathersit   [-0.21187227028075248]    [-0.2101951383567226]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "plt.plot(np.log10(alphas), mse_mean.reshape(len(alphas),1)) \n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('alpha is:', ridge.alpha_)\n",
    "\n",
    "\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARgAAADQCAYAAADcQn7hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztnXl8VPW1wL8nIUDCFhDqElmUhwiKhUekSKgogoAKBPRpURR9RbRan2jFgm0VfS4o7qV9uLdWimjRgKJlEayKIoZNQBbZAgQewoOwhqy/98fMxMlk7syd5c6dJOf7+cyHzMxdzgxzzz2/s4oxBkVRFCdIcVsARVHqLqpgFEVxDFUwiqI4hioYRVEcQxWMoiiOoQpGURTHUAWjKIpjqIJRFMUxVMEoiuIYDdwWIBJat25tOnTo4LYYilLvWbFixQFjTJtw29UqBdOhQwfy8/PdFkNR6j0iUmBnO10iKYriGKpgFEVxDNcUjIg0FpHlIrJGRNaLyMNuyaIoijO46YMpAfobY46JSBrwhYh8bIxZ5qJMiqLEEdcsGOPhmPdpmvehzWkUxY9jx46xbds2t8WIGld9MCKSKiKrgR+AhcaYr4NsM05E8kUkf//+/YkXUlFc5I033mDIkCGUlZW5LUpUSDJ0tBORTOB94C5jzDqr7bKzs42GqZX6wLFjx2jatCmVlZWsXLmS7Oxst0WqhoisMMaEFSopokjGmCLgU2Cwy6IoiqsYY3jmmWc455xz2LVrFykpKUmnXCLBzShSG6/lgoikAwOAjW7JoyhuU1xczI033sh9991Hnz59aNmypdsixYybUaTTgb+KSCoeRfeOMeZDF+VRFNfYuXMnI0aMYNWqVTz66KM88MADiIjbYsWMawrGGPMt0MOt8ytKMjF58mS2bNnC3Llzueqqq9wWJ24khZPXLurkVeoSxhiOHTtGs2bNOHLkCHv37qVz585ui2WLWuXkVZT6RklJCWPHjuXiiy+muLiY5s2b1xrlEgmqYBQlwezZs4d+/frx+uuvM3ToUBo1auS2SI5Rq9o1KEpt56uvvmLkyJEcPXqU2bNnM3LkSLdFchRVMIqSIIwx3HXXXWRkZLBw4ULOP/98t0VyHFUwiuIwpaWllJeXk5GRwezZs2nWrBmtWrVyW6yEoD4YRXGQffv2MWDAAG655RaMMbRv377eKBdQBaMojrFixQqys7PJz88nNze3TiTORYoqGEVxgLfeeou+ffuSkpLC0qVLGTVqlNsiuYIqGEWJM4cOHWL8+PH07t2b/Px8evSovwnr6uRVlDhx+PBhmjdvTsuWLfnss8/o1KkTaWlpbovlKmrBKEocWLNmDd27d2fKlCkAdO3atd4rF1AFoygx884779CnTx/Kysq47LLL3BYnqVAFoyhRUlFRwQMPPMB1111H9+7dyc/Pp1evXm6LlVSoglGUKPn222956qmnGDduHEuWLOG0005zW6SkwzUnr4i0Bd4ETgMqgZeNMS+4JY+i2OXgwYO0atWKHj16sHr16nqR8h8tblow5cBvjDFdgN7AnSLS1UV5FCUsc+bM4ayzzuKDDz4AUOUSBjfnIu01xqz0/n0U2ABkuSWPooSisrKShx9+mNzcXDp37lyvc1siISnyYESkA572mUHnIgHjANq1a5dQuRQF4MiRI9x0003MmTOHMWPGMH36dBo3buy2WLUC1528ItIUmA2MN8YcCXzfGPOyMSbbGJPdpk2bxAuo1HvmzJnDhx9+yPPPP88bb7yhyiUCXLVgvDOpZwMzjDHvuSmLogRy4MABWrduzejRo8nOzqZLly5ui1TrcHMukgCvARuMMc+6JYeiBGKMYcqUKXTs2JENGzYgIqpcosTNJVIOcCPQX0RWex9XuCiPonD8+HF+8YtfMGnSJIYMGUL79u3dFqlW4+ZcpC+A+tcgQ4mZvFWFTJ2/iT1FxZyRmc6EQZ3J7RF7AHLHjh3k5uby7bff8uSTTzJhwoR62cMlniRFFElR7JK3qpBJ762luKwCgMKiYia9txYgZiUzbdo0CgoK+Oijjxg8WMekxwMdvKbUKnKmLKawqLjG61mZ6Syd2D/i4xljOHDgAG3atKG0tJTCwkLOOuusoNs6ZTnVRuwOXlMLRqlV7AmiXEK9Hori4mJuu+02vvjiC1auXElmZmZI5RKp5aQKSRWMUss4IzM9qAVzRmZ6yP0CL/ZbftqMlx68g/z8fB555BGaN28ecv+p8zdVKRcfxWUVTJ2/KajScHIpV5tQBaMkPf7KITMjjbQUoazyx6V9eloqEwZZj10NvNi3rv2G2x+dQkPKmTNnDsOGDQsrQzClFur1SBVSXUUVjJLUBCqHQyfKSEsVMtPTOFxcZmvp4X+xG2M4vPRtpGEGnW9+lMq2PcmZsrjKsrn03DYs2bi/xrImVYSKIP7KVIsoUzyXcrUZVTBKUhPMEiirMDRp1IDVD11u6xh7ioox5WVUlpeQ2rgprYdNQFJSOdSwKRP+sYayCo/iKCwq5q1lO6v281/WBFMuVq/nrSokxUIhhVvK1TVUwShJTTwsgdYpJ1g780EkrSE/ue4xUjNaVL3nUy5W+JY1WRa+n6wAheGzuIIpF8GjtHKmLK5hdfmWgYVFxVXWUlYdcAzbzuQVkeYi0sr3cFIoRfFhdce3awl8/fXXbH3lLkr376Bp9yuiSpzbU1TMpecGL7QNfD2YxeXDp3J8llHeqkLAo1wmvLumSoH5lFPgdrWRsApGRG4TkX3At8AK70OTUZSEMGFQZ9LTUqu9Fs6p6+ONN97g4osvJrNZBs+99QFNzu0blQxnZKbz4Zq9Qd/zfz1vVaGl0zcQn2UEMHnu+mpOa6vtfOfImbKYsybOI2fK4qRXPnaWSPcB5xljDjgtjKIE4lseRJpPcvz4cSZPnszPf/5zZs2axSmnnMI724In6YXCp8zGz1od9P2i4jLgx6VRJPiWeb5jWOFbVhUWFSNUt4TumbWa/IKDPJrbLaJzJwo7CmYrcMJpQRTFitweWbb9EAcOHKBFixY0adKEzz77jKysLBo08PzMJwzqXC0iFY7M9DQmDzuP3B5ZlgrGR6ilkRUpIpw1cV7Y7Xy+G/hRufgwwIxlO8lu3yqoT8ftJD87PphJwJci8pKIvOh7OC2YokTKypUr6dmzJ/fffz8A7du3r1Iu4FFUT4zsVsMxa0WTRg2qLsqWGcGHqPlej9QyAo+vxU6hTrhtDNRYRk16by2FRcUY3PXl2FEwLwGLgWX86INZ4aRQihIpf//738nJycEYw+jRoy23y+2RxdKJ/W2V8fuWMFYXZlqq8NDQ88hbVeh6WwD/qFqoJL9EY2eJVG6MuddxSRQlCioqKpg4cSJPP/00F198Me+++y4/+clPwu5nVXLgT4v0NLo/vCCoj8R/+ZQzZbEtS8RJ/KNqVp/LjSQ/Owpmibfx9gdAie9FY8zBWE8uIq8DVwE/GGN0/oMSMVu3buXPf/4zd955J88995zlPOhAn8Sl57Zh9opCS79JWopwvLTcMk/Gf/mUDNm5B4+X0OORBRw6Ye0wdiPJz46Cud777yS/1wxwdhzO/xdgGp4BbIpim8LCQrKysjjnnHNYv349HTp0sNw2WOHh7BWFXN0zq6osIDMjDWOoKj84UVoe8mL1Vyp2rCGnKS6rpLis0vJ9AVuh/XgTVsEYY4LXr8cBY8xn3pElimKb2bNnM2bMGKZNm8bNN98cUrmAtU9iycb9lj1kwkV3/K2BUGHsZMHgThW3nUS7m4I9EiGcovhTWVnJ73//e6655hq6devGoEGDbO0XTblBqOVEYKJfbUjltxs5izd2okgX+j1+DkwGwte3xwkRGSci+SKSv3///kSdVkkyDh8+zLBhw3jsscf45S9/yaeffsrpp59ua99oyg2CZRCDJyz9xMhuNZSKVRg7GbCb+ewEYRWMMeYuv8eteCYwNnRetKrz6+A1hS+++IIFCxbwpz/9iVdeeYVGjRrZ3tdOuUFgCj7A1T2zqtoxpIowunc7Vj14eVCL5aGh55GW6nawuiapIlzd036iYryJppr6BNAp3oIoSjB27dpF27ZtufLKK9myZUtU44PDlRsEcwJPeHcNyI+FhxXGMHtFYY2MWX+aNGwQNu0/EfiXE1QYw4xlO3lr2U7LKm0ns37DNv0WkQ/85E0BugLvGGMmxnxykZnAJUBrYB/wkDHmNavttel3/aGyspLHHnuMRx99lM8//5xevXo5di6rRuLBSBWh0phqF2KggqoNpKel8sRIT/1SoOy+90IpmXg2/X7a7+9yoMAYs9vGfmExxoyKx3GUusXRo0e5+eabee+99xg9ejTdujlXyBdJBTRUb6XgKzRcsnF/VMqlScNUSssrLSupncQ/s9fJ1p52wtT/ivksimKTrVu3Mnz4cDZs2MCzzz7L+PHjHRt+Fk0FtD++QsNo1UOlget6teXDNXvjsrRKT0ulcVpKyPwdf0JF0eKVPGgnTD1SRL4XkcMickREjorIkbicXVECeOedd9i7dy/z58/nnnvucXSyYqgK6BTBltM2FtujuKyCmV/vYvKw82I4ioeszHSeGNmNh4aeFzT6FYwzMtNjbugVDjth6qeAYcaYFsaY5saYZsaY0DMeFCUCjDHs3Onphfvb3/6WtWvXMmDAAMfPG+ou3bxxGlOv+SlZmekI1s29Y6XCGCb8Yw2Z6bGFuZdO7E9ujyzyCw5ysjz8cs0XRYuloZcd7Phg9hljNsTlbIoSwIkTJxg7diwLFy5k3bp1nHrqqZxxxhkJ6WcSKsX/cMCSpVlj5yJEZRWGsgrrNP9wZKanReSozvLWYvmPgmnUIMX2lIZIsKNg8kVkFpBH9WLH9+IigVJvKSgoIDc3lzVr1vD4449XVUEnamjZhEGduWfW6qDLnMyMtGoyOB1+Pl5aQWZ6WsTnSQGOl5bb2s8qcnToRBnpaak8d133uCtxO0uk5nhyXy4HhnofV8VVCqXesWTJErKzs9m+fTvz5s1j4sSJVf6WRPUzye2RxQ2929Xo5ZKelooxNaMrThONL8YQfjIC/Oijye2RldB+MXaiSLfE/axKvWf69Om0adOGvLw8zjnnnGrvJXJo2aO53chu36rayJDisoqEKxcB8gsi74Bix8mcKlKtqDOR36/ORVISxsmTJzl06BCnn346r732GpWVlUFnQkc7fzoUoXw6vn/dTJYzUG3oWzwZ9bO21Z478f1aYXsukqLEQmFhIf369eOKK66gvLycpk2bWg6cj3dkw06P2miadic7vvqpwIkDTkeO/FELRnGcpUuXcvXVV3P8+HHefPNNPly7L2SEKNpRJf78Pm8tM7/eZTnyNTBbNRm60kVCS2+DLKt2nqHG6sbj+7WLpYIRkZB9eI0xz8ZdGqXO8fLLL/PrX/+a9u3b88knn/B9aaatCJHdUSXBlj75BQdtLTeSrStdJKx68PKgNVDpaam2nMWRjIKJBctiRxF5yPtnZzy9YOZ6nw8FPjPGjHVcugC02LF2UVJSwrndelAkTWk25De0Pa0Nx0uCh1SzMtMtu8tZYXWBnSyvIEwNL+BZQvQ+uyXLth2ytHSSlR1TrgTcm38Uc7GjMeZh74EWAP9ujDnqfT4ZeDdOcip1kH379tGkSRMWfX+YBlc9SPMGGUhKakgLIZolilW41S4VxrB0a/DITWZ6GoeLy1yfFhAM/6zfRFki0WLHB9MOKPV7Xgp0cEQapdbzzTffMGLECPr378/WrjdT1rCZrZlB0UQwnPSbNGmUHL1dAklLkaolUCTWi1uWjh0F8zdguYi8jyeaNgKdAqAE4c0332TcuHGcdtpp3HvvvYx4294kwVARjFAXhpN+k2T0x2SkpfD4yAuC9qAJle2cqMzoYNhpmfkYcAtwCCgCbjHGPO6oVEqtoqysjPHjxzNmzBj69OlDfn4+3bt3t7RKUvxMmsz04D1uIXx4ecKgzrasoxSB0b3budb4Ol74jyWJJBvXzUmPdvNgMoAjxpgXgN0iEpdRJiIyWEQ2icgWEYm5Q57iDvv27WPGjBmMHz+eBQsW0Lp1a8C6cbZ/f6WScusiv3AXRm6PLFs+EkHIbt/KUp5EM7p3O56/rntVpXZWZjo5HVuFrdj2n0EdSTZuIjN3Awm7RPJGk7LxRJPeANKAt4CcWE4sIqnAn4CBwG7gGxGZa4z5LpbjKtVxcu29ZcsWzj77bM4880zWr19fY2RrYL5FircnrD+huqfZuTCybCyTKoxh0ntreWJkN67umcXfv96JC03karSitPp/CFUZ7fvskWTjJjJzNxA7FswIPGNKjgMYY/YAzeJw7l7AFmPMNmNMKfA2MDwOx1W82MlgjZa3336bCy64gOeeew7Ach60b9j89ilXUmkRCt5TVFyjq3/eqsIQSyyptkyyQ3FZBb97fy2zVxQmVLmkp6VUWSm+SubAzxlIqKWf7zuJJBs3kZm7gdhx8pYaY4yIGAARaRKnc2cBu/ye7wZ+FriRdy72OCCqjvL1mVBLDP+7ZyRWTkVFBQ888ABPPfUUOTk53HDDDbblsbqTBrZG8CnCM1s2Di6D1yKJlOOliS8FaNWkERMGdWbq/E2Mn7W6Wsf/UEmG+QUHa7Tj9FcKkWTjJjJzNxA7UwXuwzOmZCDwBPCfwExjzIsxnVjkP4BBvoQ9EbkR6GWMuctqH020i4yzJs4L6qMQYLtfopbdrvKHDh1i1KhRzJ8/n9tvv50XXniBhg3tj8iyOlejBilRhYRbZqRxsqwyITVE/oohUtLTUkPKaJVk6FZo2Q5xmypgjHlaRAYCR/D4YR40xiyMg4y7Af8yzzOBPXE4bp0kmh+bnbW3XSsH4LvvvuPzzz/npZdeYty4cRHLZXUnvSfKuc52m1vHg2iVi6/9QyisfE2hkuiSWfn4Y8fJ+6Qx5rfAwiCvxcI3QCdvRKoQ+AVwfYzHrJNEm8cwYVDnoBaD/9rbjiN106ZNdO7cmZycHHbs2IFvwmYouSC4SR7sovH1YqlrhLNcfETqbHUzryVS7Dh5BwZ5bUisJzbGlAO/BuYDG/AMc1sf63HrItHmMeT2yKox/jRwjGiorvKVlZU89NBDdOnShcn/M5OcKYvp9czyKueklVyT564P6VwOdOheem6bqMLHsTbKdhKfUzdc7k00zlY381oiJVQ19a+AO4COIvKt31vNgC/jcXJjzEfAR/E4Vl0m2jyGvFWFzF5RGHL8qZWVc2fOGYwYMYK5c+fSf+i1zNzZhBLjOZ9PYVjdnYP5U/wvgMC77+wVhVzdMytke4VAWmak8dDQ85jw7hpXBpdZIVCjt23gd+Xz5wSOcLWLm3ktkRJqifR34GM8jl3/JLijxpjIe/spURNtHoMd/0owv8j156bx3+NG8P333/Piiy8y81hXSg6frHGc1CB5LaHYU1RsKdO8b/dGdKwrLzgdgOh78TtDn46takSEIL4RHDfzWiIlVDX1YeCwiLwAHPSrpm4mIj8zxnydKCHrO3Z8KcGwe6cL9Iu8+uqrHDhwgEWLFnHJJZfw7MR5QY9TYUwNP0Oo6YJnZKZbyhSpw3bJxv0s2bifiiSyXgBW7jxM3qrCqHrb2CXa34Mb2PHB/A9wzO/5ce9rSoLI7ZFVtZ73T9oKFWHImbLYMvIR7E5njGHDBs/4q7Fjx7Jx40YuueQSy+19NGqQQsuMtGpyBZsu6LsA4nWX3VNUHPclgeBZelmRlhK+8ikRvpBIfw9uYifRToxfsowxplJEtNVmAom0LD+UfyTYne7YsWPccsstfPzxx6xbt44OHTpwyimnVL0f7I7po6jYeqaOlczxaK6dIkLz9AZxDVU/d113xocImU/9j59W+0zh0vmdJNn7wPiwoyi2ich/8aPVcgewzTmR6hfhlEewkOQ9s1aTX3CwRjNnCN28OphTcdu2beTm5rJ+/XqefPJJ2rdvH1Q23/S/UA5cO8uCYD6J/UdPUmpjto8/FcZw7GQ5qSkS12WSVUJdVmZ6jc9kVTOUjL4Qt7CzRLod6IMnV8WXzj/OSaHqC9F2uzfAjGU7g9axWN09hR/nF/tYtGgRF154Ibt37+bjjz/mvvvuqxp+FijboRNlISufI7lr5/bIYsKgzrRIT6OwqDhi5eKjrNLETblkpqcxdf4my8znZKvxqS3YyeT9AU8SnBIh4awTO1EeqwvXV7ofaCVEEmGYM2eOZw50Xh4dO3as9p6VbFaRI7t37bxVhfzu/bWu1AWFYvKw8ywziv3bJDgdIaprhMqDud8Y85SI/JEgVqMx5r8clayWYyfb0k6UJ9K1frgIQ3FxMXv27KFjx44888wzlJaW0rRpU1vHBuvI0aXntiFnyuKQF1reqkIm/GONrVGnicY3UtXqu451+kF9JdQSaYP333xgRZCHEgIrC+A376ypymDNtIhY+FsDdkr3/QmVvbtz50769u3LwIEDKSkpoWHDhkGVi9Wx4ceIRfVoi2HWN7vCtoWYOn9TwpVLVmY6O6ZcSU7HViG3AesGWT6SNVs2mQmVB/OB99+/Jk6cukMoCwA8F2FaipCWKtUuusA1vJ3SfX+ssnfTD2zmhQd+xcmTJ5kxYwaNGjUKuYQLZwmd9Gvf6N/K8cfXqi/18lYVxlxvlJmeFlHVtU/evFWFfGkxPcDfv+K/5HEzQlSXsLRgROQDEZlr9UikkLUROz6JskpDk4YNwuYzPJrbjecCWixa5T0EWk7GGH74eg5/uO06WrZsyfLlyxk6dGhYB3OoXAu7Y1Z9F6PvXLHgGyhmt6+uf69fK+cteNb+gUuepRP7W54nRSRksyilOqEGr/Xz/jkSOA1Pm0yAUcAOY8wDzotXndrUDyZcPooP/94s8SCwB4yprGDfrN+TktaYvSsW0qJFC8A6xBqsN4nP0iksKo64PABi66UiUM26svu9+n8Oq744gdv5Y+c8Vn1z6gPxGLz2L++B/tsYc7HfWx+IyGdxkLFO4/vRTZ67PqRZH++cCZ9TuPzo/yGpDUjNaMFPRv6BM9u0rFIuYL+MIPBCi2YCYrTKJdjFb2cZA/Yc5Vbh58DzRNNPWPFgJw+mjYic7Xvi7d/SxjmR3CVYb9hoye2RRZNG1pkA8cqZ8Jf5RGk5FXs38b9v3sP/ffQ8AE2aNuP+IV2q7ROqTYM/dpdD8SbUdxNuGQM1HeWBzlsBbujdLqRysNtPWLHGTibvPcCnIuLL3u0A3OaYRC7iRCOfUD/AeJjXgTLv/GoeBxf+mYbN29Cy3xjLlgChnLj+zl+3Asp2vptQ322goxxiy1epTRXMyYSdRLt/ikgn4FzvSxuNMSWxnNTbj3cy0AVPH96kcKxE0j7SLlY/TF/qeaz4ZDYVZRz85FWOrZpH4w496Hbjgyx/JNdyP6uLDuJTKxQLvu8mXKKiZRPx9LQa322s+Sq1qYI5mbDTMjMDuBdob4y5VUQ6iUhnY8yHMZx3HR7n8UsxHCPuONHIx+kfpk+2ytKTnNyWT/NeI8nsN4b9peE7xAW76HKmLHZVufhbUeGsSavv1je7OZ5o1m502FkivYEnse4i7/PdwLtA1ArGGLMBqKp7SRacMIPj+cMMdkdvcfJ/OZR2CqnpzTj9lj+S0igjJpnd9Cn4L+eCKTo7zbKcvOg1azdy7CiYjsaY60RkFIAxplgSqBkSORfJKWsjHj/MYHf0Ox5+gf0fv0iLC0fQtO/oKuViV+ZgCsvJgfKh8BVj+oi2WZaSXNiJIpWKSDreaKOIdATC+mBEZJGIrAvyiGh6ozHmZWNMtjEm29fN3imSuZGPv3/IVFZwcPGr7J0zlYysc3nmkUkRy2yVaBesAXdaqthqthQLgRaX3SiXktzYsWAeAv4JtBWRGXhmUt8cbidjzIDYRHOHZL0j+u7cFcVHODDnSU4WrKFZz6G0vPSXjOl/AWNq5opVI9BaOVFaHnQJMvPrXYz6WVuWbNxflVhXVmGIxGbN8h7fbjOoYBaXOlXrBiEtGO9SaCMeh+zNwEwg2xjzqeOSKdXw3bkrjh2k9IftnDLkbloNuI2sU8KPCQ9mrVhd/L7aJZ8l40sus5tf50uOC9Y2EzwtKUf3bhfW4kpma1KxT0gLxjuTOs8Y0xMI3vk5CkRkBPBHPAl780RktTFmULyOXxcZ0fYkrx5LgTYdyLrtVVIaZdi+o0eaLOezZCLN2o12drIVyWpNKvaxs0RaJiIXGmO+iddJjTHvA+/H63h1mYqKCh588EEef/xx7ntyOl9WdmJPEUEvWKu8kWgiQ5Eql1SRGhaGKgjFjoK5FLhdRHbgmSggeIybC5wULJlJ1FzgoqIibrjhBj766CNuvfVWHr37Zho1amQpk1XeiNORofpc9KeExo6CiXlMbF0iUXOBN2zYwPDhw9m+fTvTp0/nttuqV2fYddqG6pIfD4JZLoriI1TLzMZ4Gn7/G7AWeM07T7peE205QaRWz+bNmzl69ChLliyhb9++NY4VqOQiIZqWC8FQy0UJR6go0l+BbDzKZQjwTEIkSnKiKSewMz0AoLKykm++8bi6hg8fzvfff19DuUBsFc5ZmemWlcGRHkeVixKOUAqmqzFmtDHmJeAa4OcJkimpiSYBLJTV4+Po0aNcc8019OnTh++++w7Asl9uLOn8hV4LKhZ8oWhVLko4QimYqkQJXRr9SDSzcMJZPVu2bKF3797MnTuXp59+mi5dugTd3oeVgshMTwvbUlLAMlvXbrKu9kBR7BJKwfxURI54H0eBC3x/i8iRRAmYbESTABbK6vnnP//JhRdeyL59+5g/fz5333132CJQKyU3edh5LJ3Yn9G9rWu2DJ7B8YGfYeo1P+XZa6v3/c1MDz/1QFFCEaplZvh6/3pKpPkdodLe8+e9Qbt27cjLy+Oss86yfX4InsT2+7y1zFi2M+T+e4qKw452heB9aTVdX4kEy6bfyUhtavodiH8U6dQMuK5zQ+65biCVlZWUlJSQnh67VZC3qpB7Zq0O24XOqtF1OLm1B4riw27Tb1UwCWbHjh3k5uayd+9etm7daunIjQarSQH+aGhZiQcxTxVQ4s/ixYu59tprqaioYObMmTRt2rSGhXDpuW1YsnF/VBZDOOdtjX9dAAAI/klEQVSrVX9eRXEKO/1glBgxxvD8889z+eWXc+qpp7J8+XIGDx4cND/mrWU7w+bLWBHK+ZqZnqbKRUk4qmASxJdffsnQoUNZtmwZnTp1AuwlzFnNQw42XiXUbOWi4rKIlJWixANVMA6ye/dutm/fjojw5ptvMnv2bJo1+7F/i918EqthaIGWDlAVfg6GDm9XEo0qGIf44osv6NmzJ6NHj8YYQ+PGjUlJqf51280nsTMMzb8eaunE/lhl0miSnJJIXFEwIjJVRDaKyLci8r6IZLohh1NMnz6dSy+9lBYtWvDKK69YJs6FWtL4CJZ3YqUkCouKq5ZMLTRJTkkC3LJgFgLne3vKbAYmuSRHXCkpKeG2227jV7/6FQMHDmT58uV07drVcvtgWcF22kmGUhK+JdPx0vIajbo1SU5JNK7nwXjbZ15jjLkh3LbJngdz4sQJ+vbty5AhQ3jkkUdITXUmGTpYhm0wWmakkdGwgSbJKXGnNuXB/Ccwy+rNRM5FipYVK1Zwzjnn0KxZM7788ksaN27s6PkCSwWsbhFFJ8pY9eDljsqiKKFwbIlkZy6SiPwOKAdmWB0nkXORouEvf/kLffr0YdIkzyrPaeXiw+fM3T7lSsuokfpbFLdxzIIJNxdJRMYAVwGXGbfXaVFQVlbGfffdx4svvshll13Gww8/7JosOkNISVZcWSKJyGDgt0A/Y8wJN2SIhf3793Pttdfy6aefcu+99/Lkk0/SoIF7q00dzK4kK25dFdOARsBCbwh3mTHmdpdkiZji4mK2bdvG3/72N0aPHu22OICOCFGSE1cUjDHm39w4b6wsWbKEfv360a5dOzZv3mw5QkRRFA+ayWuDiooK7r//fvr378/rr78OoMpFUWyQDGHqpObgwYOMGjWKBQsWcMcdd3DTTTe5LZKi1BpUwYRg3bp15ObmsnPnTl555RXGjh3rtkiKUqtQBROCoqIiysrK+Ne//sVFF13ktjiKUutQH0wAlZWVfPLJJwD07duXzZs3q3JRlChRBePH4cOHGT58OAMGDKiasKjOXEWJHl0iedm0aRPDhw9n69atTJs2jezssHVciqKEQRUMMG/ePK6//noaNmzIokWL6Nevn9siKUqdQBUMsGfPHjp27EheXl7SVmwrSm2k3vpgjh07xueffw7ArbfeyrJly1S5KEqcqZcKZuvWrVx00UVceeWVHDx4EICGDRu6LJWi1D3qnYJZuHAhF154IYWFhcyePZtWrVq5LZKi1FnqjYIxxvDMM88wePBgsrKyyM/PZ+DAgW6LpSh1mnqjYESEgoICRowYwVdffcXZZ5/ttkiKUuep81GkgoICjhw5Qrdu3Xj22WdJTU21HCOiKEp8cWsu0n97ZyKtFpEFInKGE+f59NNPyc7O5oYbbqCyspIGDRqoclGUBOLWEmmqMeYCY0x34EPgwXge3BjDtGnTGDBgAK1bt+bdd9+tMVVRURTnceWqM8Yc8XvaBCwnb0RMSUkJY8eO5a677uKKK65g2bJldO6sza8VxQ1cu62LyGMisgu4gThaMKmpqRQUFPCHP/yBvLw8WrRoEa9DK4oSIY5NdhSRRcBpQd76nTFmjt92k4DGxpiHLI7jP3itZ0FBQdhzl5eXu9rlX1HqOnYnOybD6Nj2wDxjzPnhtk320bGKUl+wq2DciiJ18ns6DNjohhyKojiLW+uIKSLSGagECoBaMxNJURT7uDUX6Wo3zqsoSmLR5BBFURxDFYyiKI7hehQpEkRkPx6fTbLSGjjgthAJpL59Xqh/n9nq87Y3xrQJt3OtUjDJjojk2wnd1RXq2+eF+veZY/28ukRSFMUxVMEoiuIYqmDiy8tuC5Bg6tvnhfr3mWP6vOqDURTFMdSCURTFMVTBKIriGKpg4oyITBWRjd6WoO+LSKbbMjmBiAwWkU0iskVEJrotj5OISFsRWSIiG0RkvYjc7bZMiUBEUkVklYh8GO0xVMHEn4XA+caYC4DNwCSX5Yk7IpIK/AkYAnQFRolIV3elcpRy4DfGmC5Ab+DOOv55fdwNbIjlAKpg4owxZoExptz7dBlwppvyOEQvYIsxZpsxphR4GxjuskyOYYzZa4xZ6f37KJ6LLstdqZxFRM4ErgRejeU4qmCc5T+Bj90WwgGygF1+z3dTxy84HyLSAegBfO2uJI7zPHA/npYqUaN9JaPATjtQEfkdHtN6RiJlSxDBZr/U+XwHEWkKzAbGBzSur1OIyFXAD8aYFSJySSzHUgUTBcaYAaHeF5ExwFXAZaZuJhrtBtr6PT8T2OOSLAlBRNLwKJcZxpj33JbHYXKAYSJyBdAYaC4ibxljRkd6IE20izMiMhh4FuhnjNnvtjxOICIN8DiwLwMKgW+A640x610VzCHEM63vr8BBY8x4t+VJJF4L5j5jzFXR7K8+mPgzDWgGLPROrpzutkDxxuvE/jUwH4/D8526qly85AA3Av29/6ervXd3JQxqwSiK4hhqwSiK4hiqYBRFcQxVMIqiOIYqGEVRHEMVjKIojqGJdko1ROQU4BPv09OACsCXz9PLW3ukKLbQMLViiYhMBo4ZY54OeF3w/HZiqlNR6j66RFJsISL/JiLrvImDK4G2IlLk9/4vRORV79+nish7IpIvIstFpHeQ440VkX+IyHwR+V5EnvC+3iDEcd8SkT95e7NsFZGLReSv3v47rzn9HSiRo0skJRK6ArcYY273lgtY8SLwlDFmmbf6+EPg/CDb/RT4dzxFoZtF5I/AD2FkaGGMuVRErgY+AC4CNgIrReR8Y8y6iD6R4iiqYJRI2GqM+cbGdgOAzp6VFAAtRSTdGFMcsN0ib38VRGQj0I7wCuYD779rgT3GmO+8+38HdABUwSQRqmCUSDju93cl1ds2NPb7W7DnEC7x+7sCz+8x1HH996kM2L8S/T0nHeqDUaLC6+A9JCKdRCQFGOH39iLgTt8TEekep+MqtQxVMEos/Bb4J56w9m6/1+8EcryNz78Dbo3TcZVahoapFUVxDLVgFEVxDFUwiqI4hioYRVEcQxWMoiiOoQpGURTHUAWjKIpjqIJRFMUx/h8wVvs+AWkfOAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 288x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#岭回归的结果可视化\n",
    "plt.figure(figsize=(4, 3))\n",
    "plt.scatter(y_test, y_test_pred_lr)\n",
    "plt.plot([-3, 3], [-3, 3], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True num')\n",
    "plt.ylabel('Predicted num')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is -0.8473130895481513\n",
      "The r2 score of LassoCV on train is 0.6999001061364836\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:1094: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "# Lasso\n",
    "from sklearn.linear_model import LassoCV\n",
    "\n",
    "alphas = [ 0.01, 0.1, 1, 10]\n",
    "\n",
    "lasso = LassoCV(alphas=alphas)\n",
    "\n",
    "lasso.fit(X_train, y_train)\n",
    "\n",
    "y_test_pred_lasso = lasso.predict(X_test)\n",
    "y_train_pred_lasso = lasso.predict(X_train)\n",
    "\n",
    "print('The r2 score of LassoCV on test is',r2_score(y_test, y_test_pred_lasso))      \n",
    "print('The r2 score of LassoCV on train is',r2_score(y_train, y_train_pred_lasso))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha is: 0.1\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>coef_lasso</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>temp</td>\n",
       "      <td>[0.6777248736947533]</td>\n",
       "      <td>[0.6598841140826344]</td>\n",
       "      <td>0.604862</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>mnth</td>\n",
       "      <td>[0.23357860320943877]</td>\n",
       "      <td>[0.23187088150261406]</td>\n",
       "      <td>0.158681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>weekday</td>\n",
       "      <td>[0.03027945926637097]</td>\n",
       "      <td>[0.028933102071921346]</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>workingday</td>\n",
       "      <td>[0.0052821513408193455]</td>\n",
       "      <td>[0.005896445930803906]</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>holiday</td>\n",
       "      <td>[-0.043275103412841576]</td>\n",
       "      <td>[-0.042226791085574256]</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hum</td>\n",
       "      <td>[-0.05909171258384316]</td>\n",
       "      <td>[-0.055199108139727546]</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>[-0.13545581603087828]</td>\n",
       "      <td>[-0.1335181297942668]</td>\n",
       "      <td>-0.053088</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>[-0.21187227028075248]</td>\n",
       "      <td>[-0.2101951383567226]</td>\n",
       "      <td>-0.158867</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      columns                  coef_lr               coef_ridge  coef_lasso\n",
       "5        temp     [0.6777248736947533]     [0.6598841140826344]    0.604862\n",
       "0        mnth    [0.23357860320943877]    [0.23187088150261406]    0.158681\n",
       "2     weekday    [0.03027945926637097]   [0.028933102071921346]    0.000000\n",
       "3  workingday  [0.0052821513408193455]   [0.005896445930803906]    0.000000\n",
       "1     holiday  [-0.043275103412841576]  [-0.042226791085574256]   -0.000000\n",
       "6         hum   [-0.05909171258384316]  [-0.055199108139727546]   -0.000000\n",
       "7   windspeed   [-0.13545581603087828]    [-0.1335181297942668]   -0.053088\n",
       "4  weathersit   [-0.21187227028075248]    [-0.2101951383567226]   -0.158867"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T)), \"coef_lasso\":list((lasso.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从岭回归和lasso回归的结果上来看，对2012年的预测结果同样不好，结合前面的数据探索，\n",
    "我认为应该是2012年的单车使用人数整体偏高的原因，由此导致用2011的数据训练出的模型\n",
    "（无论是线性回归还是岭回归以及lasso回归）来预测2012年的数据，预测值较真实值整体偏低。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
